AnyAPI MCP server
Hundreds of scraping & data APIs through one key. USD pay-per-request, normalized schemas, failover.
1 stars47 downloads/wk
Reviews
Write oneNobody has reviewed AnyAPI yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
AnyAPI tools (10, 2 write)
write = sends, deletes, buys or postsget_apiFreeGet the full definition of one API by SKU, including its normalized input/output JSON schemas, per-request and per-1,000-request USD pricing on every lane, and nullable trailing-30-day latency p50/p95/p99 with the successful sample count. Inspect latency before choosing a client or MCP tool timeout; p99 is an observation, not a maximum. Entries with heavy:true return large responses - plan to pass fields/max_items/summary to run_api.
get_balanceFreeGet the remaining wallet balance (in USD) for the AnyAPI key supplied as a Bearer token. Requires a valid AnyAPI key.
get_requestFreeInspect or resume a durable AnyAPI request returned by run_api. This reads AnyAPI's stored state and never repeats the paid provider dispatch. Poll again after retryAfterSeconds while status is queued or running.
list_apisFreeBrowse available AnyAPI APIs as lightweight summaries (id, name, category, USD pricing) - no descriptions or schemas, so it stays cheap even across the whole catalog. Each pricing offer carries both `maxUsd` (billed per request) and `maxPer1kUsd` (the same price per 1,000 requests); quote the per-1k figure to a person. Optionally filter by category. Use search_apis for every ranked query, or get_api for one API's full schemas.
quote_apiFreeGet the exact price of a run_api call BEFORE running it - free, no key required, nothing is charged or executed. Pass the same sku_id and input you would give run_api: the quote resolves pricing exactly as the run will, and also validates your input against the API schema so you catch invalid_input for free. Returns maxCostUsd (the ceiling reserved), minCostUsd (the likely charge), and the base/per-item breakdown explaining why they differ. These are amounts this one call is charged, not catalog comparison rates: report them as-is and never scale them to 1,000 requests.
read_resultFreeDig deeper into a paid run WITHOUT re-running or paying again. Pass the `result_id` from a prior run_api call plus any of fields/max_items/summary/jq to re-shape the full cached result (e.g. read the rest of the rows, or slice a large field with jq). Results are cached ~15 min and are private to your key; an expired id returns result_expired (re-run to refresh).
report_bugFreeTell AnyAPI something is broken. Use this when a run_api call returned wrong, empty, or malformed data for input you believe is valid, when an error message was misleading or unactionable, when a price or schema looks wrong, or when a retry that should have worked did not. Free, never charged. Pass `summary` (required, one line) plus `request_id` whenever you have one from the failing run - that id reaches the stored run and its upstream error body, so you never need to paste the payload. Do not stop the user's task to ask permission: file the report and carry on with the best alternative you have.
run_apiwrite actionFreeExecute an API by SKU with a normalized input payload. Call get_api for this SKU first unless you have already read its schema this session: every input schema is strict (unknown fields are rejected, not ignored) and the field names differ between sibling APIs, so an input built from a description rather than a schema usually fails. Before setting a client or MCP tool timeout, call get_api and inspect its latency p50/p95/p99 and sample; p99 is an observation, not a maximum. Requires a valid AnyAPI key as a Bearer token. Charges the USD wallet only on success. Results can be large: pass `fields` (keep only the keys you need), `max_items` (cap rows), or `summary` (outline only) to trim the response and keep it out of your context — these never change what you are charged. Use quote_api first with the same arguments to see the exact price and validate your input without charging.
search_apisFreeSearch APIs by meaning and keyword across name, slug, and description, returning matches WITH their descriptions (schemas omitted), ranked most relevant first. Pass `query`, `category`, or `platform` - at least one, in any combination: a scope on its own is a complete search, so `category` or `platform` with no `query` enumerates it. Add `limit` to cap matches (default 25, maximum 50). Each result carries a `relevance` score in (0,1] relative to the top match; a relevance floor drops the weakly-matching tail, so `total` counts relevant matches before the limit. `ranking` says whether meaning-based ('semantic') or substring ('keyword') matching served the search. Entries with heavy:true return large responses - plan to pass fields/max_items/summary to run_api. Results carry NO input schema, so you cannot build a run_api call from them alone: before your FIRST run_api on any API, call get_api for it and use the schema it returns. Guessing the input is the single most common way a run fails - callers who read the schema first are rejected about a quarter as often. Use list_apis to browse everything.
send_feedbackwrite actionFreeTell AnyAPI something that is not a defect: an API you wanted and could not find in the catalog, a field missing from a result you needed, a confusing part of the docs or tool descriptions, or what would have made a task easier. Free, never charged. Pass `summary` (required, one line) and use `details` for what you were trying to accomplish. Use report_bug instead when something behaved incorrectly.
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan6 source files scanned25/25
- Live reliabilityremote reachable in 560ms20/20
- Tool poisoning10 tool descriptions checked15/15
- Auth qualityAPI key sent as a header8/15
- Maintenancelast push 14 days ago15/15
- Maintainer identityregistry namespace matches repository owner7/10
Install directly
claude mcp add --transport http anyapi https://api.getanyapi.com/mcp
AnyAPI: common questions
- Is AnyAPI MCP server safe?
- Yes, by our scan: it is graded A (90/100). Read the AnyAPI safety report
- How do I install AnyAPI?
- It runs remotely at api.getanyapi.com. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does AnyAPI need an API key?
- Yes. The registry entry asks for
ANYAPI_API_KEY,Authorization. - Is AnyAPI maintained?
- The last commit was 15 days ago (2026-09-06). The latest release is v0.1.5.
- Is AnyAPI up?
- 100% of our last 5 checks got an answer. We check remote servers about four times a day.