API catalog
RFC 9727 links to the API, its spec and this page.
/.well-known/api-catalogDevelopers
Read our services, prices and guidance through the REST API or the MCP server. Both are read-only. Neither needs a key.
Every file below reads from one set of prices and terms. When one changes, they all change.
meta.dataVersion2026-10-14
The date our prices or terms last changed. Every JSON answer carries it.
RFC 9727 links to the API, its spec and this page.
/.well-known/api-catalogTyped v2 operations, answer schemas and the error format.
/openapi.jsonThe remote server in the official server.json format.
/.well-known/mcp.jsonThe free AI Plan skill, with a SHA-256 digest.
/.well-known/agent-skills/index.jsonARD discovery for the API, the MCP server and the skill.
/.well-known/ai-catalog.jsonTools in the visitor’s tab, their schemas and rollout state.
/site-tools.jsonUse cases, limits and links in one file.
/llms.txtEverything here as plain text.
/developers.mdNo key. No sign-up. The OpenAPI file gives each call an ID, a typed answer and a JSON error.
Pick a path to see part of its answer.
/api/v2/studioWho we are, where we are and every public address./api/v2/studio/servicesEach service, its page and the lowest Build price./api/v2/studio/pricingThe free AI Plan, the three Levels, Upgrade Points, the guarantee and Builds bought outright./api/v2/studio/agent-guideWhen we fit, and where to send a person.{
"meta": { "apiVersion": "v2", "dataVersion": "2026-10-14" },
"name": "MIAMI WEB AI",
"description": "Find out what to fix first, and what not to…",
"publicInterfaces": {
"documentation": "https://miamiweb.ai/developers",
"openapi": "https://miamiweb.ai/openapi.json",
"mcp": "https://miamiweb.ai/mcp",
…
},
…
}
Part of the answerOpen the full answer
{
"meta": { "apiVersion": "v2", "dataVersion": "2026-10-14" },
"services": [
{
"id": "websites-apps",
"name": "Websites and apps",
"startingPriceUsd": 1500,
…
},
{
"id": "ai-automation",
"name": "Automation",
"startingPriceUsd": 4500,
…
},
…
]
}
Part of the answerOpen the full answer
{
"meta": { "apiVersion": "v2", "dataVersion": "2026-10-14" },
"currency": "USD",
"membership": {
"levels": [
{
"id": "embedded",
"weeklyPriceUsd": 1875,
"cyclePriceUsd": 7500
},
{ "id": "growth", "weeklyPriceUsd": 750, "cyclePriceUsd": 3000 },
{ "id": "partner", "weeklyPriceUsd": 375, "cyclePriceUsd": 1500 }
],
…
},
…
}
Part of the answerOpen the full answer
{
"meta": { "apiVersion": "v2", "dataVersion": "2026-10-14" },
"whenToUse": ["Use MIAMI WEB AI when an owner-run busin…", …],
"boundaries": ["The public API and MCP server are read-o…", …],
"nextSteps": { "apply": "https://miamiweb.ai/apply", … }
}
Part of the answerOpen the full answer
Every JSON answer carries two fields: meta.apiVersion and meta.dataVersion. The data version is the day our prices or terms last changed. It now reads 2026-10-14.
Version 1 and the plain /api/studio paths sold an offer we no longer sell. They answer 410 Gone with a Link header that names the v2 path.
Each caller IP gets 60 reads per 60 seconds. The RateLimit and RateLimit-Policy headers say how many are left. A 429 says when to try again in Retry-After.
Any origin can read the API from a browser. Send the ETag back in If-None-Match. A match with no Origin header gets a 304. A match with one gets a full 200.
Streamable HTTP at https://miamiweb.ai/mcp. One JSON-RPC message per POST. No sessions.
server/discoverRevisions, tools and resourcestools/listget_studio_informationtools/callPrices, the AI Plan and the guaranteeget_studio_information. Read-only. Its sections are overview, services, pricing and agent-guide.server/discover and no initialize. Each request carries its revision in params._meta and matching MCP-Protocol-Version and Mcp-Method headers. Mcp-Name is required for tool calls and resource reads.initialize at the same URL. The 2025-06-18 and 2025-03-26 revisions stay available.Check it with the MCP Inspector
npx @modelcontextprotocol/inspector --cli https://miamiweb.ai/mcp --transport http --method tools/listBrowsers with WebMCP find these through document.modelContext while our site owns the tab. Other browsers get the full site.
get_studio_informationnavigate_siteprepare_applicationsubmit_applicationThe API and MCP never send an Application. A person reviews it and sends it at /apply. It works without JavaScript.
Get your free AI PlanThe command-line client
Our CLI, @miami-web-ai/cli, reads the same v2 API from a terminal. It is not on npm yet.