# Diet Mercator > A curated, reliability-tested directory of paid APIs (web search, scraping, image, audio and video generation, LLMs and more) that any agent can call and pay for with Link. Only reviewed services from the Stripe Directory and the MPP proxy run. Diet Mercator works with any Link client that can pay a Stripe MPP challenge with a shared payment token (SPT): link-cli, agents with Link built in (such as Instinct or Muse), or your own code around Link's APIs. You don't need to sign in to Mercator. ## Recommended setup - **Call the REST API without OAuth.** Search, describe and quote are free and need no auth. Paid jobs use the standard MPP `402` flow, so any Link client that can pay an MPP challenge can use Diet. - **Reuse your existing Link connection.** If your client is already connected to Link, use that connection. You usually don't need a new Link connection or a Mercator account for Diet. - **Try Link Balance first.** Most Diet jobs cost a few cents. Link Balance pays amounts under $0.50; card-backed spend requests are often rejected below that. If the user has a Balance auto-approve limit, jobs within it don't need a separate approval. - **Use `link-cli mpp pay`** (or your client's equivalent) to pay the `402` challenge and retry the request in one step. ## Flow 1. `GET https://mercator.sh/diet/v1/services/search?query=...`: find services. Free. 2. `GET https://mercator.sh/diet/v1/services/{serviceId}`: read the exact input schema. Free. 3. `POST https://mercator.sh/diet/v1/quote` with `{"plan": {"nodes": [...]}}`: get `quoteToken` and `totalAmount`. Free. 4. `POST https://mercator.sh/diet/v1/jobs` with `{"plan", "quote_token", "approved_total", "idempotency_key"}`. Without payment it returns `402` with a Stripe challenge in `WWW-Authenticate`. Pay it and retry the identical request with `Authorization: Payment `. 5. `GET https://mercator.sh/diet/v1/jobs/{jobId}`: poll until the job finishes. The job ID is all you need to read it. Each plan node needs `id`, `serviceId`, `method`, `path`, `input` and `dependsOn` (an array, empty for a single step). Use a random idempotency key such as a UUID; retrying the same key, plan and payment returns the same job without charging again. ## Other options - **MCP with OAuth:** `https://mercator.sh/diet/mcp` gives MCP clients search, quote, job tools and per-connection history. Payment still comes from your Link client. - **REST with OAuth:** send the Diet bearer in `Authorization` and the MPP credential in `X-Mercator-Payment`. ## Links - [Setup skill](https://mercator.sh/diet/skill.md): step-by-step instructions for agents. - [Service directory](https://mercator.sh/diet/catalog): JSON list of Diet services. - [Docs](https://mercator.sh/docs#diet-mercator)