PublicAPIs.io
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search 1,500+ public APIs with docs, code and auth/free-tier filters; list or sponsor your API.
| Author | io.publicapis |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 3178 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"PublicAPIs.io": {
"url": "https://publicapis.io/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
search_apisread-onlyFind a public API or data source for a task: use this whenever the user (or your code) needs an API, dataset or third-party service, e.g. weather, geocoding, payments, sports scores, crypto prices, jobs, LLMs. Searches 1,500+ APIs on PublicAPIs.io and returns name, description, category, link and signals (auth: none/api_key/oauth, free_tier, https). Filter with auth="none" for APIs that need no key, free=true, https=true.
Parameters:
auth— string — Only APIs with this authentication. "none" = no key needed.free— boolean — Only APIs with a free tier.https— boolean — Only APIs served over HTTPS.limit— integerquery— string — What the API should do, in plain words.category— string — Optional category name or id, e.g. "Weather", "finance".
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
get_apiread-onlyEverything about one API by slug (from search_apis): documentation summary, endpoints, auth, pricing and links. Use before writing integration code.
Parameters:
slug(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
get_quickstartread-onlyReady-to-run example code for calling an API, in javascript, python or curl. Use when you are about to integrate an API into code. Verified samples are marked verified=true.
Parameters:
slug(required) — stringlanguage— string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
compare_apisread-onlyCompare 2-5 APIs side by side (auth, free tier, HTTPS, pricing, docs summary) to choose one. Pass slugs from search_apis.
Parameters:
slugs(required) — array
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
list_offeringsread-onlyWays to get an API listed or sponsored on PublicAPIs.io, with fixed prices, current sponsorship availability and the rules.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
start_dealOpen a conversation with the PublicAPIs.io broker agent to list or sponsor an API. Say what you want in plain language and include the API name, website and a contact email if you have them. Returns deal_id and deal_key (keep both; they are needed to continue) and the broker's reply. Every deal is approved by a person before payment.
Parameters:
message(required) — stringcontact_email(required) — string — Where approval, payment link and go-live emails are sent.company— stringwebsite— stringapi_name— stringcontact_name— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
send_messageReply to the broker in an open deal. Returns the broker's answer and the deal status.
Parameters:
deal_id(required) — stringdeal_key(required) — stringmessage(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_dealread-onlyStatus of a deal: negotiating, agreed, awaiting_approval, awaiting_payment (payment_url is included), publishing, live (live_url), rejected. Also returns the last messages.
Parameters:
deal_id(required) — stringdeal_key(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.