> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crakseo.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> For SEO data and indexing, start with /seo-mcp/overview.md and /seo-mcp/connect.md, then read the focused server reference.
> The documentation search MCP at https://docs.crakseo.com/mcp searches documentation only. Product tools use https://crakseo.com/mcp/<server>.
> Check tool availability and API credit balance before paid calls. Request owner approval for paid force indexing. Never invent prices, indexing guarantees or directory approval.

# Pay per call: SEO data API without an account (MPP)

> Keyless SEO data calls paid one at a time with the Machine Payments Protocol: a 402 price quote, one payment, the data and a receipt.

Agents can buy a single CrakSEO data call without an account, an API key or prepaid credits. Each paid data tool has its own endpoint that accepts the Machine Payments Protocol (MPP): the first request returns the exact price, the agent pays, and the retry returns the data with a payment receipt.

> [!NOTE]
>
> A daily budget caps keyless calls. When it is used up, endpoints answer `429` with `budget_exceeded` until the next UTC day, and nothing is charged. Accounts with [API credits](https://docs.crakseo.com/pricing/api-credits.md) can call the same tools at any time.

## How a call works

1. **Send the request.** `POST https://crakseo.com/api/v1/mpp/<tool>` with the tool's JSON input, for example:

   ```bash theme={"system"}
   curl -i https://crakseo.com/api/v1/mpp/get_keyword_search_volume \
     -H "Content-Type: application/json" \
     -d '{"keywords":["seo mcp"],"country":"US"}'
   ```

2. **Read the quote.** The response is `402 Payment Required` with one `WWW-Authenticate: Payment ...` challenge per payment method. The challenge is bound to this endpoint and amount and expires after a few minutes. Nothing is charged yet.

3. **Pay and retry.** Send the same request again with `Authorization: Payment <credential>`. MPP clients such as `mppx` or a Link wallet do this step for you.

4. **Get the data.** CrakSEO runs the call once, then settles the payment and returns `200` with `{ result, billing }` and a `Payment-Receipt` header. A failed call is never settled, so you only pay for data you receive.

One payment buys one call. A credential that was already used is refused, even if the first attempt failed.

## Prices

The price is fixed before the call from the request's inputs (for example result depth, number of keywords or `limit`), and is at least \$0.01. The `402` challenge always carries the exact amount. The [OpenAPI document](https://crakseo.com/api/v1/mpp/openapi.json) lists every endpoint with the price of an example request.

| Method | When it is offered |
| - | - |
| Tempo stablecoin (USDC) | Every call |
| Card through a shared payment token | Calls of \$0.50 or more (the card network minimum) |

Repeated identical requests within 24 hours may be answered from cache at the same price.

## Responses

| Status | Meaning |
| - | - |
| `200` | The data, with a `Payment-Receipt` header |
| `202` | The payment outcome is unknown and recorded for reconciliation. Don't pay again for this call |
| `400` | Invalid input or malformed credential. Nothing was charged |
| `402` | Payment required, or the credential was invalid or already used |
| `404` | Unknown tool |
| `429` | Too many requests from this address or payer, or today's per-call capacity is used up. Retry later; nothing was charged |
| `502`, `504` | The data call failed or its outcome is unknown. The payment was not settled |
| `503` | Per-call payments are not enabled or temporarily unavailable. Nothing was charged |

## Limits

* Requests are rate limited per IP address and per paying wallet, and per-call capacity has a daily ceiling. A `429` includes `Retry-After`.
* Inputs have the same caps as the API, for example up to 5 URLs per site audit, 10 keywords per rank check and 200 keywords per search-volume call.
* Free tools are not sold per call: the [Search Console MCP](https://docs.crakseo.com/mcp-servers/search-console.md), free URL submission and index checks, and the credit balance. Force indexing is not sold per call either; it needs an exact quote and the account owner's approval.

## Endpoints

Every endpoint takes the same JSON input as the matching MCP tool (see the [tool reference](https://docs.crakseo.com/mcp-servers/seo.md)).

| Endpoint | What it returns |
| - | - |
| `/api/v1/mpp/get_google_serp` | Google SERP API: live Google top 100 results, SERP features and AI Overview sources for a keyword |
| `/api/v1/mpp/get_bing_serp` | Bing SERP API: live Bing top 100 organic results for a keyword and country |
| `/api/v1/mpp/check_google_rankings` | Google rank checker: live Google position and ranking URL of a domain for up to 10 keywords |
| `/api/v1/mpp/get_ai_overview_sources` | Google AI Overview API: whether an AI Overview shows for a keyword and every page it cites |
| `/api/v1/mpp/check_google_maps_rankings` | Google Maps rank checker: live local results with rating and reviews for a keyword in a city |
| `/api/v1/mpp/get_keyword_search_volume` | Keyword search volume API: monthly searches, CPC, difficulty and trend for up to 200 keywords |
| `/api/v1/mpp/find_keyword_ideas` | Keyword ideas API: up to 500 related keywords with search volume, CPC and difficulty |
| `/api/v1/mpp/get_keyword_difficulty` | Keyword difficulty API: Google ranking difficulty from 0 to 100 for up to 500 keywords |
| `/api/v1/mpp/check_backlinks` | Backlink checker API: total backlinks, referring domains, spam score and top backlinks of a site |
| `/api/v1/mpp/get_referring_domains` | Referring domains API: the domains linking to a site or URL, strongest first |
| `/api/v1/mpp/get_backlink_anchors` | Backlink anchor text API: the anchor texts of links pointing to a site or URL |
| `/api/v1/mpp/get_ranked_keywords` | Ranked keywords API: the Google keywords a domain ranks for, with position, volume and traffic |
| `/api/v1/mpp/find_competitor_keywords` | Keyword gap API: keywords a competitor ranks for in Google that your domain does not |
| `/api/v1/mpp/find_competitor_domains` | SEO competitor finder: the domains competing with a site in Google organic search |
| `/api/v1/mpp/run_seo_site_audit` | SEO site audit API: on-page and technical SEO checks for up to 5 page URLs |
| `/api/v1/mpp/get_page_speed_scores` | Page speed API: Lighthouse scores and Core Web Vitals (LCP, CLS, TBT, FCP) for a page |
| `/api/v1/mpp/get_google_business_profile` | Google Business Profile API: rating, review count, category and contact details of a business |
| `/api/v1/mpp/check_chatgpt_brand_mentions` | ChatGPT brand mention checker: whether ChatGPT names your brand for a buyer prompt, with sources |
| `/api/v1/mpp/check_perplexity_brand_mentions` | Perplexity brand mention checker: whether Perplexity names your brand for a prompt, with sources |

## Per call or API credits?

Per-call payments suit an agent that needs a few calls and has an MPP wallet. For regular use, an account with [API credits](https://docs.crakseo.com/pricing/api-credits.md) is simpler: one balance for every MCP server, REST call and dashboard run, a usage history, and no payment step per call. Per-call payments never touch an account's credits.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.