Discover, rate and compare APIs and providers in the APIs.io catalog; manage a listing you own.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
UNDERSTANDING — Add providers/APIs (by slug or aid) to one of your lists. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
List id, as create_list returns it or list_lists lists it.
Provider slugs and/or API aids to add, e.g. ["stripe","adyen:checkout-api"].
Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
UNDERSTANDING — Add providers/APIs (by slug or aid) to one of your lists. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| id* | string | List id, as create_list returns it or list_lists lists it. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| members* | array | Provider slugs and/or API aids to add, e.g. ["stripe","adyen:checkout-api"]. |
{
"type": "object",
"required": [
"id",
"members"
],
"properties": {
"id": {
"type": "string",
"description": "List id, as create_list returns it or list_lists lists it."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"members": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs and/or API aids to add, e.g. [\"stripe\",\"adyen:checkout-api\"]."
}
}
}UNDERSTANDING — diffusion: for each agent-readiness dimension, how many scored providers satisfy it, out of how many, as a share. The denominator every "the agent web is/is not here yet" claim needs and almost never has. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}START HERE. Federated overview of the APIs.io catalog for a query: the top matching APIs, providers, AND tags in one call, each with its total match count. Filter by tags, artifact types, industry, region, rating band. `limit` is per section. To page/sort the full list of ONE type, use find_apis / find_providers / find_tags; for one entity, get_api / get_provider.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| area | array | Area slugs, e.g. ["security"]. |
| band | array | exemplar | strong | developing | thin | minimal. |
| sort | string | Default: relevance with `q`, else composite. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Top matches to return per section (apis/providers/tags). |
| match | string | How `tags` combine: any (default) or all. |
| region | array | Region slugs, e.g. ["north-america"]. |
INFLUENCE — the status of a check request by id: queued, in_review, running, done, rejected or needs_info, with any notes shared by the reviewer. The id identifies the request, but the Influence plan is now required to read it back. To report an error for free, use report_correction or open an issue on the provider's api-evangelist repo. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| id* | string | The check id request_check returned (or my_checks lists). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The check id request_check returned (or my_checks lists)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}INFLUENCE — ask to claim a listing as yours. Returns 202 with a token and the hosts it will be checked against: publish it as a DNS TXT record, or as a file at /.well-known/apis-io-challenge, and leave it up. A PERSON verifies it and emails you — there is nothing else to call. Track it with check_status. Priced B4 (human work) — worked by a person, no charge. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — what every member of a cohort actually publishes: artifact counts by type plus the agent-readiness dimensions each one satisfies. The capability matrix behind a market report. Large cohorts come back in byte-budgeted chunks: while `complete` is false, call again with `cursor` set to `next_cursor`; the last page has `complete: true` and a null `next_cursor`. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Cohort kind: tag, industry, region, area or vc — says what `slug` names. |
| slug* | string | Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag". |
| cursor | integer | Resume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"kind",
"slug"
],
"properties": {
"kind": {
"enum": [
"tag",
"industry",
"region",
"area",
"vc"
],
"type": "string",
"description": "Cohort kind: tag, industry, region, area or vc — says what `slug` names."
},
"slug": {
"type": "string",
"description": "Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
},
"cursor": {
"type": "integer",
"minimum": 0,
"description": "Resume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — what a whole market gets WRONG: the agent-readiness checks its members most commonly fail, ranked by what fixing each would move the cohort mean. The inverse of gap_analysis, which says where a market is under-served; this says where it is failing the rubric. Turns "fix your OpenAPI" into "this industry does not publish OpenAPI", which is the shape of a finding worth publishing. Named checks only — facet rollups cannot name the checks underneath them. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Cohort kind: tag, industry, region, area or vc — says what `slug` names. |
| page | integer | Page number, 1-based (default 1). |
| slug* | string | Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"kind",
"slug"
],
"properties": {
"kind": {
"enum": [
"tag",
"industry",
"region",
"area",
"vc"
],
"type": "string",
"description": "Cohort kind: tag, industry, region, area or vc — says what `slug` names."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"slug": {
"type": "string",
"description": "Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — the SET-LEVEL time series: how a whole market's Kin Score and agent readiness moved, build by build. There was a per-provider series and a whole-dataset licence and nothing between them, so "how has banking moved over six months" had no answer. Returns the MEAN over members present on each date plus members_scored beside it — membership changes as the catalog grows, and a move you cannot attribute to scores rather than population is not a finding. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Cohort kind: tag, industry, region, area or vc — says what `slug` names. |
| slug* | string | Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"kind",
"slug"
],
"properties": {
"kind": {
"enum": [
"tag",
"industry",
"region",
"area",
"vc"
],
"type": "string",
"description": "Cohort kind: tag, industry, region, area or vc — says what `slug` names."
},
"slug": {
"type": "string",
"description": "Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — the leaderboard for a market, on TWO axes: rank by Kin Score composite AND rank by agent readiness. The two orders differ, and the gap between a provider's two ranks is usually the story. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Cohort kind: tag, industry, region, area or vc — says what `slug` names. |
| page | integer | Page number, 1-based (default 1). |
| slug* | string | Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"kind",
"slug"
],
"properties": {
"kind": {
"enum": [
"tag",
"industry",
"region",
"area",
"vc"
],
"type": "string",
"description": "Cohort kind: tag, industry, region, area or vc — says what `slug` names."
},
"page": {
"type": "integer",
"description": "Page number, 1-based (default 1)."
},
"slug": {
"type": "string",
"description": "Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — facet-level scores for every member of a cohort, each with the cohort average and the delta against it. A 60 in governance means nothing until you know the market sits at 45; this is the endpoint that says so. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Cohort kind: tag, industry, region, area or vc — says what `slug` names. |
| page | integer | Page number, 1-based (default 1). |
| slug* | string | Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"kind",
"slug"
],
"properties": {
"kind": {
"enum": [
"tag",
"industry",
"region",
"area",
"vc"
],
"type": "string",
"description": "Cohort kind: tag, industry, region, area or vc — says what `slug` names."
},
"page": {
"type": "integer",
"description": "Page number, 1-based (default 1)."
},
"slug": {
"type": "string",
"description": "Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — the DISTRIBUTION for a whole market: Kin Score mean/median/min/max/stdev, agent-readiness spread, band split, per-facet averages, and artifact adoption rates. This is the market-stats sheet from a Trend Report, computed live. Always carries a `coverage` block saying how much of the roster is actually scored AND how deeply we enriched it (`enrichment_depth`: mean catalog_gap and median artifact directories). Read that before quoting the mean anywhere: cohort enrichment depth spans ~42 points of catalog_gap across the catalog, so part of any cohort number is our coverage rather than the market. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Cohort kind: tag, industry, region, area or vc — says what `slug` names. |
| slug* | string | Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"kind",
"slug"
],
"properties": {
"kind": {
"enum": [
"tag",
"industry",
"region",
"area",
"vc"
],
"type": "string",
"description": "Cohort kind: tag, industry, region, area or vc — says what `slug` names."
},
"slug": {
"type": "string",
"description": "Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — A company's weakest investment dimensions — where it is thin and a vendor could sell in. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Company (provider) slug, as find_company_insights returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Company (provider) slug, as find_company_insights returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — two markets side by side on one rubric: "is US payments further along than UK banking?" Returns both distributions plus the deltas on score, agent readiness, every facet and every adoption rate. A question a written report cannot answer, because a report only ever covers one market. CHECK `depth_confounded` FIRST: when the higher-scoring cohort is also the one we enriched more deeply, the delta reflects our own coverage as much as the markets, and `depth_note` says by how much. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| a* | string | First cohort as <kind>:<slug>, e.g. "tag:payments". |
| b* | string | Second cohort as <kind>:<slug>, e.g. "industry:banking". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"description": "First cohort as <kind>:<slug>, e.g. \"tag:payments\"."
},
"b": {
"type": "string",
"description": "Second cohort as <kind>:<slug>, e.g. \"industry:banking\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — Compare 2+ providers side by side: composite/band, per-facet leaders, an artifact-coverage matrix, and each provider's economics — audience, pricing basis, delivery, graded entry cost (USD/month) and marginal cost (USD per unit), with the plan and the quoted figure behind each number and the date it was read; `cheapest_entry` names the cheapest published way in. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| providers* | array | Provider slugs to compare (2+). |
{
"type": "object",
"required": [
"providers"
],
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs to compare (2+)."
}
}
}INFLUENCE — propose corrections to what we say about you: name, description, url, industries, tags. Returns 202 and is applied by a person — an API that let an owner rewrite their own description unreviewed would be a marketing surface, not a catalog. Score and band are not owner-settable and are ignored. Priced B4 (human work) — included in Influence; otherwise $49.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| url | string | The provider's correct website, e.g. "https://example.com". |
| name | string | The provider name as it should read, e.g. "Acme Payments". |
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| tags | array | Tag slugs that should apply, e.g. ["payments","payouts"]. |
| contact | string | Optional email address we can reply to about this request, e.g. "[email protected]". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| industries | array | Industry slugs that should apply, e.g. ["financial-services"]. |
UNDERSTANDING — Create a named, persistent list (a shortlist / stack you own) of providers or APIs. Requires an apis.io API key. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| name* | string | Name for the list, e.g. "Payments shortlist". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| members | array | Provider slugs and/or aids to seed the list. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name for the list, e.g. \"Payments shortlist\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"members": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs and/or aids to seed the list."
}
}
}UNDERSTANDING — Delete a list you own. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| id* | string | List id to delete, as list_lists lists it. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "List id to delete, as list_lists lists it."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — Delete a saved search you own. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| id* | string | Saved search id to delete, as list_saved_searches lists it. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Saved search id to delete, as list_saved_searches lists it."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — every provider publishing at least one operation marked deprecated in its own OpenAPI, ranked by how many. The lifecycle view of the catalog: 8,297 deprecated operations across 681 providers, which nothing could see before, because a provider's own deprecated filter needs you to already suspect that provider. Drill in with get_provider_operations(deprecated=true). Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}INFLUENCE — "you say we lack X, here it is." Send the claim in words and a URL that evidences it. Returns 202; a person fetches your evidence, checks it against what we hold, and emails you either way. Open to any paying caller — you should not have to prove ownership before you can tell us our data is wrong. Priced B4 (human work) — included in Influence; otherwise $49.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| claim* | string | The finding you dispute and why, e.g. "We do publish an OpenAPI at /openapi.json". |
| contact | string | Optional email address we can reply to about this request, e.g. "[email protected]". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| evidence_url | string | URL that shows the finding is wrong, e.g. "https://example.com/openapi.json". |
{
"type": "object",
"required": [
"slug",
"claim"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"claim": {
"type": "string",
"description": "The finding you dispute and why, e.g. \"We do publish an OpenAPI at /openapi.json\"."
},
"contact": {
"type": "string",
"description": "Optional email address we can reply to about this request, e.g. \"[email protected]\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"evidence_url": {
"type": "string",
"description": "URL that shows the finding is wrong, e.g. \"https://example.com/openapi.json\"."
}
}
}One call, pick your field groups — resolves a slug OR any identifier and returns exactly the groups you ask for, instead of chaining get_provider + get_provider_rating + get_provider_artifacts + get_provider_onboarding. Groups: profile, onboarding, artifacts, rating, insights. Understanding plan — the base groups moved with the rest of the discovery layer on 2026-08-31. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| id* | string | Provider slug OR any identifier resolve() accepts. |
| fields | array | Field groups: profile, onboarding, artifacts, rating, security, insights. Default: profile+onboarding+artifacts+rating. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Provider slug OR any identifier resolve() accepts."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Field groups: profile, onboarding, artifacts, rating, security, insights. Default: profile+onboarding+artifacts+rating."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}LICENCE (sold on the Influence plan) — the WHOLE dataset, not a 100-row page: `ratings` (every rated provider with facets, trend, rubric + provenance), `providers` (the catalog with coverage + score), or `history` (every provider's full score time series — parallel date/composite/agent_readiness arrays across every scored build the catalog retains, with a movement summary per provider). `history` is the one nobody can reconstruct after the fact: it is the only record of what the catalog looked like on those dates. For media outlets and analysts licensing the data to publish rankings and trends. Every dataset exceeds one response, so they arrive in byte-budgeted chunks: while `complete` is false, call again with `cursor` set to `next_cursor` and concatenate `data`; the last page has `complete: true` and a null `next_cursor`. Attribute to apis.io and cite the rubric. Priced B3 (bulk export) — $0.002 per row, $0.50 minimum per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| cursor | integer | Resume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| dataset | string | Which dataset to export: "ratings" (default), "providers" or "history". |
| co_brand | string | Optional partner name for a co-branded license — stamps the attribution the license carries. |
UNDERSTANDING — Export a designed capability stack as an adoptable APIs.json document (with an Arazzo hint) the team can commit. Priced B3 (bulk export) — $0.002 per row, $0.50 minimum per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| region | string | Optional region slug to prefer. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| capabilities* | array | The capabilities the stack needs, e.g. ["payments","email","identity"]. |
{
"type": "object",
"required": [
"capabilities"
],
"properties": {
"region": {
"type": "string",
"description": "Optional region slug to prefer."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "The capabilities the stack needs, e.g. [\"payments\",\"email\",\"identity\"]."
}
}
}UNDERSTANDING — the agent-readiness leaderboard across the whole catalog. Rank providers by agent readiness, and filter to those that DO satisfy (has) or do NOT satisfy (missing) specific dimensions — e.g. has="mcp_server,protected_resource_metadata" is the OAuth-capable MCP cohort, missing="agent_card" is the addressable market for a fix. Returns agent score + band alongside the Kin Score. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| has | string | Comma-separated dimensions the provider MUST satisfy (ANDed), e.g. mcp_server,idempotency. |
| band | string | Restrict to one or more agent-readiness bands. |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Ranked by agent readiness, highest first. |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| missing | string |
FREE, no account — the A2A agent registry: agents that registered THEMSELVES by serving an agent card and calling register_agent. Each row carries the card URL, the operator, and the last verification of the card (grade, protocol version, transport). This is the door an unattended agent can walk through unaided; the others need a person or a voucher.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Paginated, sortable list of APIs across providers — filter by tag, provider, artifact type, industry, region, or rating band. `q` is lexical over the API's own name and description; include=["via_provider"] adds APIs of providers whose name matched (the union apis_io_search counts). Use apis_io_search first for a cross-type overview. Parameter reference: apis://docs/tools/find_apis.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| area | array | Area slugs, e.g. ["security"]. |
| band | array | exemplar | strong | developing | thin | minimal. |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Default: relevance with `q`, else composite. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| view | string | summary (default, lean) or full. |
| limit | integer | Results per page, 1-100 (default 25). |
| match |
APIs.json indexes across the catalog. The APIs.json discovery documents themselves. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
Arazzo workflows across the catalog. Multi-step API workflows chaining operations. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
Browse the API Evangelist areas taxonomy (authentication, webhooks, payments, …) — curated, scored provider indexes. Search by text; sort by provider count.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against name and description, e.g. "payments". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: name, api_count, provider_count or composite, e.g. "provider_count". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text matched against name and description, e.g. \"payments\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"type": "string",
"description": "Order: name, api_count, provider_count or composite, e.g. \"provider_count\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Find artifacts of ANY one type across the catalog — the cross-type entry point. Each type also has a dedicated find_<type> tool (find_mcp, find_rules, find_scopes, …) with sorts and filters unique to that type; prefer those when you know the type. Types: mcp, skills, rules, arazzo, plans, rate-limits, finops, collections, asyncapis, graphql, json-ld, channels, examples, json-schemas, json-structures, openapis, postman, apis-json. PRO: scopes, security. include=["content"] inlines bodies.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against artifact name and description, e.g. "refunds". |
| page | integer | Page number, 1-based (default 1). |
| tags | array | Tag slugs the artifact's API carries, e.g. ["payments"]. |
| type* | string | Artifact collection to browse — plural: openapis, asyncapis, arazzo, postman, collections, graphql, json-schemas, json-structures, json-ld, rules, examples, finops, plans, rate-limits, apis-json, mcp, skills, channels, scopes, security. E.g. "openapis". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include |
AsyncAPI (event-driven) specifications across the catalog. Event/streaming APIs. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| version | string |
START HERE for "what can a business do with these APIs". The business-capability model — 333 top-level capabilities across 28 industries — with how many catalog providers reach each one. Defaults to capabilities the catalog actually reaches; pass all=true for the whole model INCLUDING the ones with no coverage, which is a real answer rather than a gap: most of what an enterprise does runs on internal systems that publish no API. Free. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q | string | Match against name, BC id or industry. |
| all | boolean | Include capabilities with zero catalog coverage (default false). |
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| industry | string | e.g. "Banking & Capital Markets", "Software & Technology". |
AsyncAPI event channels across the catalog. Individual event channels (topics/streams). Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| version | string |
START HERE for market-level questions. Every scored population of providers in the catalog — tags, industries, regions, areas and VC portfolios — as one browsable index. Filter by kind, minimum population, or promotion tier (report/brief/data). Then call cohort_stats for the distribution, cohort_rankings for the leaderboard. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q | string | Substring match on cohort name or slug. |
| kind | string | Restrict to one roster source. |
| page | integer | Page number, 1-based (default 1). |
| tier | string | Promotion tier: report (100+, report-grade), brief (25+), data (everything else). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| min_providers | integer | Only cohorts with at least this many providers. 25+ is brief-grade, 100+ report-grade. |
Postman / Open collections across the catalog. Runnable request collections. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or item_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
Browse profiled companies (Fortune 1000) by name or industry; ranked by overall technology-readiness signal. `industry` takes an insights industry NAME from insights_industries (e.g. "Industrial") — a different vocabulary from the catalog industry slugs find_providers uses — and matches every roster a company sits on, not just its primary. Understanding plan. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against company name, e.g. "stripe". |
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| industry | string | Industry slug to narrow to, e.g. "artificial-intelligence". |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text matched against company name, e.g. \"stripe\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"industry": {
"type": "string",
"description": "Industry slug to narrow to, e.g. \"artificial-intelligence\"."
}
}
}Browse the country dimension — the finest of the four place taxonomies, and the one a buyer usually names ("who is in Germany"). Peer to find_industries / find_regions / find_areas. Search by text; sort by provider count. Membership is derived and known to be partial: read a count as a floor, not a census.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against name and description, e.g. "payments". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order, e.g. "name" or "provider_count". |
| type | string | Which record kind to list. `country` (default) is the dimension itself — the 27 countries the catalog covers; `country-industry` is the crossover pages ("Education & EdTech in China"); `all` is both. |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text matched against name and description, e.g. \"payments\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"type": "string",
"description": "Order, e.g. \"name\" or \"provider_count\"."
},
"type": {
"enum": [
"country",
"country-industry",
"all"
],
"type": "string",
"default": "country",
"description": "Which record kind to list. `country` (default) is the dimension itself — the 27 countries the catalog covers; `country-industry` is the crossover pages (\"Education & EdTech in China\"); `all` is both."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — Browse corporate estates — one COMPANY whose API surface is spread across many provider records (Amazon 237, Salesforce 27, Cisco 37). Ranked by member count. Use this when two slugs look like separate vendors and you need to know whether they are one company. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against name and description, e.g. "payments". |
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text matched against name and description, e.g. \"payments\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Example payloads across the catalog. Real request/response examples. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or key_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
Browse every OpenAPI `x-` specification extension harvested across the catalog, with the provenance the OpenAPI Initiative registry does not carry: who publishes it, in how many documents, where in the document it appears, and what shape the value takes. Search by key or purpose; sort by occurrences.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against name and description, e.g. "payments". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: occurrences or documents (largest first), or name, e.g. "occurrences". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text matched against name and description, e.g. \"payments\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"type": "string",
"description": "Order: occurrences or documents (largest first), or name, e.g. \"occurrences\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}FinOps / billing models across the catalog. How usage is metered and billed. meta carries the billing model (pricing category), method, provenance_date, primary_unit (what the provider bills by) and `template: true` on sweep output that restates the FinOps framework without a unit, meters or a pricing category. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| method | string | Who wrote the file: "searched", "probed", "generated" (unverified sweep output), "unmarked". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
GraphQL schemas across the catalog. GraphQL type systems. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
Browse industry verticals; sort by provider/API count.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against name and description, e.g. "payments". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: name, api_count, provider_count or composite, e.g. "provider_count". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text matched against name and description, e.g. \"payments\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"type": "string",
"description": "Order: name, api_count, provider_count or composite, e.g. \"provider_count\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — The reverse portfolio edge: which VC firms in the network back a given provider/company (by slug). The investor COUNT is free; the named firms need Understanding. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}JSON-LD contexts across the catalog. Linked-data vocabularies. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or class_count / property_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
JSON Schemas across the catalog. Standalone data schemas. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
JSON Structures across the catalog. Data structures behind an API. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or property_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
MCP servers across the catalog. Model Context Protocol servers a provider offers to agents. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
OpenAPI specifications across the catalog. The REST contract. get_openapi returns one API's primary spec with optional inlined body. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers |
UNDERSTANDING — CATALOG-WIDE operation search: which providers expose a path matching your terms. "Who has a POST /refunds" had no answer before this — tags are what a company says about itself, a path is what its API accepts. Terms match path SEGMENTS (all must appear), so q="payment intents" finds /payments/v1/intents. Add method to narrow by verb, deprecated=true for the retiring ones. One row per real operation: a provider's spec is split per tag, so the same call can live in several of its documents, and `apis` lists them all. Reads matching providers' surfaces up to max_providers (cap 100) and tells you in `meta.query.truncated` when more matched than were read. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q* | string | Path words, all of which must appear, e.g. "refunds" or "payment intents". |
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| method | string | Only operations with this HTTP method, e.g. "POST". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| deprecated |
OpenAPI Overlays across the catalog. Documents applied on top of an API contract to add or change what it says. meta says who wrote it (authorship: provider / derived / generated / unmarked), whether the provider hosts it (provider_hosted — the only kind the Kin Score credits), what the actions touch (purpose), the action counts and the contract it extends. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or action_count / target_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include |
Pricing plans across the catalog. An API's pricing tiers. meta says who wrote the file (method), when it was read (provenance_date), who the page prices for (audience), how (pricing_basis), and whether a price is stale. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or plan_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| method | string | Who wrote the file: "searched" (transcribed from the provider's page), "probed" (read live), "generated" (API Evangelist sweep, unverified), "unmarked". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
Postman collections across the catalog. Postman-format collections (by reference). Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
Paginated, sortable, filterable list of providers. Size filters need Understanding. Overview: apis_io_search. Reference: apis://docs/tools/find_providers.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| area | array | Area slugs, e.g. ["security"]. |
| band | array | exemplar | strong | developing | thin | minimal. |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Default: relevance with `q`, else composite. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| view | string | summary (default, lean) or full. |
| facet | string | Facet, e.g. governance; needs min_facet. |
| group | string | estate: one row per estate. |
| limit |
Rate-limit policies across the catalog. Declared throttling policies. meta carries method, provenance_date, the exhaustion status and the response headers that signal limit state. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or limit_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| method | string | Who wrote the file: "searched", "probed", "generated" (unverified sweep output), "unmarked". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
UNDERSTANDING — The biggest rating movers (up and down) since the previous scoring build. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Ranked ratings leaderboard — filter by band, score range, trend, or facet threshold. Sort by composite (default), delta (biggest gainers), or any quality facet (governance, security, …) to rank providers by that dimension. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| band | array | Rating bands: exemplar, strong, developing, thin, minimal, e.g. ["strong","exemplar"]. |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Leaderboard order; default composite. |
| tags | array | Tag slugs the provider carries, e.g. ["payments"]. |
| facet | string | Facet to threshold with min_facet: discoverability, contract_quality, contract_governance, operational_transparency, developer_ergonomics, access_clarity. |
| limit | integer | Results per page, 1-100 (default 25). |
| trend | string | Week-over-week movement: "rising" (+5 or more), "falling" (-5 or more) or "flat" (within 5). |
Browse geographic regions; sort by provider/API count. Returns the 18 regions themselves. The collection also holds region x industry crossover pages (nordics-healthcare and 1,097 more); those are excluded unless you ask for them with type.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against name and description, e.g. "payments". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: name, api_count, provider_count or composite, e.g. "provider_count". |
| type | string | Which record kind to list. `region` (default) is the dimension itself; `region-industry` is the crossover pages; `all` is both. |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text matched against name and description, e.g. \"payments\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"type": "string",
"description": "Order: name, api_count, provider_count or composite, e.g. \"provider_count\"."
},
"type": {
"enum": [
"region",
"region-industry",
"all"
],
"type": "string",
"default": "region",
"description": "Which record kind to list. `region` (default) is the dimension itself; `region-industry` is the crossover pages; `all` is both."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Browse the laws, statutes and accreditations the catalog tracks, each joined to the countries, regions and industries it binds. Filter by scope=horizontal to get the regimes that reach a provider with NO industry tag at all, which is the question tags alone cannot answer; or by kind (regulation/statute/accreditation/regulator-guidance) or jurisdiction. A null company_count means the job-corpus pass has not run for that name — it is NOT a measured zero.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text matched against name and description, e.g. "payments". |
| kind | string | Kind of regime: regulation, statute, accreditation or regulator-guidance. |
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| scope | string | Regulation scope; "horizontal" returns regimes that bind regardless of industry. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| jurisdiction | string | Case-insensitive substring of the jurisdiction, e.g. "EU" or "United States". |
Spectral governance rulesets across the catalog. API design/linting rulesets. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or rule_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
OAuth scope catalogs across the catalog. The OAuth scopes an API defines. Understanding plan. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or scope_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
Security artifacts across the catalog. Authentication, domain security, VDP, trust center. Understanding plan. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance / provider / name, or scheme_count (largest first). |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
APIs similar to a given one ("more like this") by shared tags.
| Argument | Type | Description |
|---|---|---|
| aid* | string | API id in the form provider:api-slug, as find_apis returns it, e.g. "stripe:stripe-api". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"aid"
],
"properties": {
"aid": {
"type": "string",
"description": "API id in the form provider:api-slug, as find_apis returns it, e.g. \"stripe:stripe-api\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Providers similar to a given one (alternatives) by shared tags, areas, industry, region, and artifact coverage. Products under the same owner (a sister, not a rival) are left out of the ranking and listed in meta.query.family; include_family=true ranks them in, flagged same_estate.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_family | boolean | Rank same-owner products in with the rivals (flagged same_estate) instead of listing them in meta.query.family. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_family": {
"type": "boolean",
"description": "Rank same-owner products in with the rivals (flagged same_estate) instead of listing them in meta.query.family."
}
}
}Agent Skills across the catalog. Packaged agent skills. Filter by q / tags / providers; include=["content"] inlines bodies. Use find_artifacts for cross-type search.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: relevance (catalog order), provider, or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array |
START HERE for capability-map questions. The 1,500+ tag groups the catalog computes — sets of tags that demonstrably travel together across providers (Cards, Logistics, Wealth Management, Observability), the layer between a single tag and a coarse facet. Every response carries a `coverage` block: about a quarter of the vocabulary is in NO group, and any count taken from here should be read against `ungrouped_share`. Pass exclude=cross_cutting,sparse to drop the groups that are plumbing rather than markets.
| Argument | Type | Description |
|---|---|---|
| q | string | Substring match on group name, slug or member tag. |
| page | integer | Page number, 1-based (default 1). |
| basis | string | cooccurrence groups are evidence-based; facet groups are a weaker fallback bucket for tags with no co-occurrence edge. |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| exclude | string | Comma-separated: cross_cutting (plumbing every provider has), sparse (a chain label propagation strung together, not a cluster). Use both when drawing a capabilities map. |
| min_tags | integer |
Paginated, sortable list of tags in the taxonomy. Filter by `axis` to separate MARKETS (a business someone is in) from CAPABILITIES (the name of a resource in somebody's OpenAPI) — the single most useful distinction in the vocabulary, and a coin flip without it. A tag can carry more than one axis, so axis=market means market is ONE of its axes. Use apis_io_search first for a cross-type overview.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| axis | string | market | capability | persona | posture. Comma-separated for more than one. |
| band | string | canonical | established | emerging | niche | stale | posture. |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Default: relevance with `q`, else composite. |
| view | string | summary (default, lean) or full. |
| limit | integer | Results per page, 1-100 (default 25). |
| fields | array | Only these top-level keys, e.g. ["slug","score"]. |
UNDERSTANDING — Find venture-capital firms by name, thesis tags, or category. Each carries a network-matched, rated portfolio graph. Sort by portfolio_on_network (default), portfolio_total, portfolio_rating, or name. Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| page | integer | Page number, 1-based (default 1). |
| sort | string | Order: portfolio_on_network, portfolio_total, portfolio_rating or name. |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| category | string | Firm category, e.g. "Venture Capital". |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"portfolio_on_network",
"portfolio_total",
"portfolio_rating",
"name"
],
"type": "string",
"description": "Order: portfolio_on_network, portfolio_total, portfolio_rating or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"category": {
"type": "string",
"description": "Firm category, e.g. \"Venture Capital\"."
}
}
}UNDERSTANDING — For each provider: high-value artifacts it lacks (MCP, Arazzo, Rules, Skills…), what its peers commonly publish but it lacks, and its score vs the peer median — plus stack-level gaps across the set. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| min_share | number | Peer-share threshold for a gap (0–1, default 0.25). |
| providers* | array | Provider slugs (1+). Multiple = treat as a stack. |
{
"type": "object",
"required": [
"providers"
],
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"min_share": {
"type": "number",
"description": "Peer-share threshold for a gap (0–1, default 0.25)."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs (1+). Multiple = treat as a stack."
}
}
}INFLUENCE — REQUEST an artifact you are being marked down for not having: apis-json, agent-card, mcp (one tool per operation you already publish), arazzo, rules (a Spectral ruleset scoped to your own failing checks), scopes and security (read out of your own OpenAPI). Returns 202 — a person generates it against your live surface, checks it, and sends it to you. Nothing is published on your behalf either way: your score moves when YOU commit the file. Omit `artifact` to list what can be made. Priced B4 (human work) — included in Influence; otherwise $49.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| artifact | string | Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes or security. Omit to request the full set. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"artifact": {
"enum": [
"apis-json",
"agent-card",
"mcp",
"arazzo",
"rules",
"scopes",
"security"
],
"type": "string",
"description": "Which artifact to request: apis-json, agent-card, mcp, arazzo, rules, scopes or security. Omit to request the full set."
}
}
}EXPLORE — the agent-readiness dimensions and standalone score for ONE provider (spec presence, MCP server, auth clarity, idempotency, error semantics, rate-limit signal, well-known catalog, consent identity, dry-run…). A STANDALONE score, not a slice of the composite. For the same question across the catalog — who is agent-ready, which dimensions have actually diffused — use find_agent_readiness (Influence). Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Full detail for one API by aid (provider:api-slug); set include=["content"] to inline artifact bodies. Results carry `next`: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.
| Argument | Type | Description |
|---|---|---|
| aid* | string | API id in the form provider:api-slug, as find_apis returns it, e.g. "stripe:stripe-api". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| include_next | boolean | Set false to omit the `next` affordance block. |
| artifact_types | array | Only return artifacts of these types, e.g. ["OpenAPI"]. |
{
"type": "object",
"required": [
"aid"
],
"properties": {
"aid": {
"type": "string",
"description": "API id in the form provider:api-slug, as find_apis returns it, e.g. \"stripe:stripe-api\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
},
"artifact_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only return artifacts of these types, e.g. [\"OpenAPI\"]."
}
}
}One API's artifacts grouped by type (by_type_counts is the full summary); pass `type` to scope the list to one type (synonym-aware: MCP matches MCPServer), include=["content"] to inline the bodies.
| Argument | Type | Description |
|---|---|---|
| aid* | string | API id in the form provider:api-slug, as find_apis returns it, e.g. "stripe:stripe-api". |
| type | string | Return only artifacts of this type. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
{
"type": "object",
"required": [
"aid"
],
"properties": {
"aid": {
"type": "string",
"description": "API id in the form provider:api-slug, as find_apis returns it, e.g. \"stripe:stripe-api\"."
},
"type": {
"type": "string",
"description": "Return only artifacts of this type."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
}
}
}One area: metadata, its dedicated site link, and a top sample of member providers (with the total). Use find_providers?area=slug for the full list, or view=full here. Results carry `next`: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Area slug, as find_areas returns it, e.g. "security". |
| view | string | summary (default, lean) or full. |
| limit | integer | Top members to show. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_next | boolean | Set false to omit the `next` affordance block. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Area slug, as find_areas returns it, e.g. \"security\"."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Top members to show."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
}
}
}UNDERSTANDING — Top-rated providers in a curated API Evangelist area. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Area slug, as find_areas returns it, e.g. "security". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Area slug, as find_areas returns it, e.g. \"security\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}One business capability: its definition, its sub-capabilities, the external authorities it cites, WHICH catalog providers reach it with their ratings, and what it COSTS — `economics` carries how many suppliers publish a price and how opaque the market is (free), and for Understanding the entry-cost (USD/month) and marginal-cost (USD per unit, by unit) quartiles, take rate, pricing-basis mix, delivery mix and open-source alternatives, every figure graded A–D by how it was read. Accepts a slug or a BC id (e.g. "payments-card-management" or "BC-1340"). The per-tag edges WITH their evidence are get_capability_edges (Understanding). Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| capability* | string | Slug or BC id. |
{
"type": "object",
"required": [
"capability"
],
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"capability": {
"type": "string",
"description": "Slug or BC id."
}
}
}UNDERSTANDING — the evidence behind a capability. Every edge that lands on it: the provider, the tag, the exact OpenAPI file, a calibrated confidence, and the QUOTED FRAGMENT OF THE PROVIDER'S OWN CONTRACT that justifies the claim. Only edges at confidence >= 0.7 whose evidence was found verbatim in the source contract are published, so an edge here is checkable rather than asserted. This is what you cite when someone asks "says who?". Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| capability* | string | Slug or BC id. |
{
"type": "object",
"required": [
"capability"
],
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"capability": {
"type": "string",
"description": "Slug or BC id."
}
}
}One cohort: its identity, its population, and the full member roster with each provider's Kin Score and agent readiness. Understanding plan. The analysis parts (stats/rankings/scores/capabilities) are Understanding too — they moved down from Influence on 2026-09-01. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Cohort kind: tag, industry, region, area or vc — says what `slug` names. |
| slug* | string | Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. "payments" with kind "tag". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"kind",
"slug"
],
"properties": {
"kind": {
"enum": [
"tag",
"industry",
"region",
"area",
"vc"
],
"type": "string",
"description": "Cohort kind: tag, industry, region, area or vc — says what `slug` names."
},
"slug": {
"type": "string",
"description": "Slug of the cohort within `kind` — a tag, industry, region, area or VC slug, e.g. \"payments\" with kind \"tag\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — Full demand-side profile for one company: 40-dimension readiness scores, adopted stack, and per-quarter history. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Company (provider) slug, as find_company_insights returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Company (provider) slug, as find_company_insights returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}One country: metadata, counts, and a top sample of member providers (with the total). Use find_providers?country=slug for the full ranked list, or view=full here.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Country slug, as find_countries returns it, e.g. "united-kingdom". |
| view | string | summary (default, lean) or full. |
| limit | integer | Top members to show. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_next | boolean | Set false to omit the `next` affordance block. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Country slug, as find_countries returns it, e.g. \"united-kingdom\"."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Top members to show."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
}
}
}UNDERSTANDING — Top-rated providers in one country. Membership is derived and partial, so read the ranking as "the best of what we have placed there", not a national league table. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Country slug, as find_countries returns it, e.g. "united-kingdom". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Country slug, as find_countries returns it, e.g. \"united-kingdom\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — One estate: the owning provider, the full member roster with per-member API counts and bands, and the estate-wide rating. Use get_provider_estate(slug) to go the other way, from a provider to the company that owns it. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Estate slug — the owning company the estate is rooted at, as find_estates returns it, e.g. "cisco". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_next | boolean | Set false to omit the `next` affordance block. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Estate slug — the owning company the estate is rooted at, as find_estates returns it, e.g. \"cisco\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
}
}
}One OpenAPI specification extension: its publishers, occurrence and document counts, where it appears, and the value shapes observed. CHECK is_api_evangelist BEFORE treating a key as provider-originated — some of these are published by API Evangelist, not by a vendor.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Extension key as find_extensions returns it, e.g. "x-nullable". |
| view | string | summary (default, lean) or full. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_next | boolean | Set false to omit the `next` affordance block. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Extension key as find_extensions returns it, e.g. \"x-nullable\"."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
}
}
}One industry: metadata + a top sample of its member providers (ranked, with the total). Use find_providers?industry=slug for the full list, or view=full here. Results carry `next`: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Industry slug, as find_industries returns it, e.g. "artificial-intelligence". |
| view | string | summary (default, lean) or full. |
| limit | integer | Top members to show. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_next | boolean | Set false to omit the `next` affordance block. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Industry slug, as find_industries returns it, e.g. \"artificial-intelligence\"."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Top members to show."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
}
}
}UNDERSTANDING — Top-rated providers in an industry vertical. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Industry slug, as find_industries returns it, e.g. "artificial-intelligence". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Industry slug, as find_industries returns it, e.g. \"artificial-intelligence\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — Get a list you own, with each member resolved to its current name, band, and score. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| id* | string | List id, as create_list returns it or list_lists lists it. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "List id, as create_list returns it or list_lists lists it."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}An API's primary OpenAPI reference (url) — the top agent intent; set include=["content"] to inline the spec body.
| Argument | Type | Description |
|---|---|---|
| aid* | string | API id in the form provider:api-slug, as find_apis returns it, e.g. "stripe:stripe-api". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
{
"type": "object",
"required": [
"aid"
],
"properties": {
"aid": {
"type": "string",
"description": "API id in the form provider:api-slug, as find_apis returns it, e.g. \"stripe:stripe-api\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
}
}
}Curated APIs that are SAFE TO EXPERIMENT WITH — no key (or an instant, free, self-serve key), no cost, and no real-world side effects. Free, and deliberately so: this is where you start if you are new here. Every entry carries an `example_request` URL that returned HTTP 200 to an unauthenticated GET on the date shown, so it can be called immediately with no setup. Use this when you are new to this catalog, learning what an API call feels like, testing a tool-use loop, or need a harmless endpoint to demonstrate something. Defaults to the `starter` set; pass grouping="deep-archive" for institutional/OAI-PMH repositories.
| Argument | Type | Description |
|---|---|---|
| tag | string | Filter by subject tag, e.g. weather, books, energy. |
| limit | integer | Results per page, 1-100 (default 25). |
| access | any | no-key = callable right now; instant-key = free self-serve key. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| grouping | any | starter (default) is the good-first-experience set. |
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"description": "Filter by subject tag, e.g. weather, books, energy."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"access": {
"enum": [
"no-key",
"instant-key"
],
"description": "no-key = callable right now; instant-key = free self-serve key."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"grouping": {
"enum": [
"starter",
"deep-archive"
],
"description": "starter (default) is the good-first-experience set."
}
}
}What one call costs on the pay-as-you-go plan, by cost band. FREE — and deliberately so: an agent that learns a price only when it is refused has already been refused by its own wallet. Call this BEFORE budgeting a run of paid tools. Returns the bands (free catalog reads, single-entity synthesis, cross-catalog synthesis, per-row bulk) and every priced resource key. Under an Understanding or Influence subscription these calls are included in the plan; these prices are what per-call access costs. The same map prices x402 payments and the x-price-usd header, so all three agree.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Full detail for one provider: profile, rating, and the APIs it publishes. The heavy `collections` and `common` sections are omitted by default (their counts are still reported) — pass view=full for the whole document, or fields=["common"] for a section. Narrow for cheap reads: fields=["score"] returns just the rating. Relative artifact URLs are resolved to absolute, fetchable ones. Results carry `next`: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| view | string | summary (default, lean) or full. |
| fields | array | Return exactly these top-level keys (slug and name always included); overrides view. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_next | boolean | Set false to omit the `next` affordance block. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Return exactly these top-level keys (slug and name always included); overrides view."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
}
}
}Every API one provider publishes, as a page you can filter — the provider's own catalog rather than the whole network's. Prefer this over find_apis with a `providers` filter when you already know the company: it is the endpoint the provider page itself is built from, so `meta.total` is that provider's real API count. Filter by `tags` (with `match`), require `artifact_types`, or pass include=["content"] to inline artifact bodies.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| limit | integer | Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| fields | array | Only these top-level keys, e.g. ["slug","score"]. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
Every artifact a provider publishes — provider-level (MCP, security, scopes, rules, agentic-access) and per-API (OpenAPI, Arazzo, overlays, reference docs) — grouped by type with counts. by_type_counts is the full summary; pass `type` (e.g. OpenAPI, MCP) to scope the artifacts list to one type, since an unfiltered provider can be 250+ entries.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| type | string | Return only artifacts of this type (synonym-aware: MCP matches MCPServer). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"type": {
"type": "string",
"description": "Return only artifacts of this type (synonym-aware: MCP matches MCPServer)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — what ONE vendor's published APIs let a business DO, rolled up by capability, with the tag-level evidence under each. Answers "what is this vendor actually for" from its own contracts rather than its marketing. NOT get_provider_capabilities, which is artifact counts and agent-readiness dimensions and is free. Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}What one provider publishes, counted by artifact type, with the agent dimensions it satisfies. Free — it is a fact about their own public surface. NOTE: this is artifact counts, NOT business capabilities — for what the vendor lets a business DO, call get_provider_business_capabilities. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Which corporate estate a provider belongs to, if any. Answers 200 with estate:null when the provider stands alone — that is a measured absence, not a missing record.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}How a provider's score was established, part by part: first-party (they published it), verified (we fetched and confirmed it), or derived (we inferred it). Free — the basis for a claim should never sit behind the claim. Call this before disputing or quoting a score.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — one provider's score broken into its facets (discoverability, contract quality, governance, operational transparency, developer ergonomics, commercial clarity) plus any regulatory regime that applies. The composite is one number; these are the parts a team can actually act on. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}A getting-started view for a provider — website, portal, signup, docs, authentication, base URLs, and first steps assembled from its registered links.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Every operation a provider exposes, across all of its OpenAPIs — method, path, operationId, summary, which API it belongs to, and whether it is deprecated. The shortcut for "what can I actually call here?", which otherwise means fetching and parsing every one of their specs. Where the provider publishes agentic-access, each operation also carries its action class and CONSEQUENCE (read vs something that moves money) — filter on those to find the safe surface before letting an agent loose on it.
| Argument | Type | Description |
|---|---|---|
| q | string | Substring match on summary, path, or operationId. |
| api | string | Restrict to one API, by aid or api slug. |
| page | integer | Page number, 1-based (default 1). |
| path | string | Substring match on the operation path. |
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| limit | integer | Results per page, 1-100 (default 25). |
| method | string | Restrict to one HTTP method. |
| context |
One provider's full rating breakdown (composite, band, trend, six facets). Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Every JSON Schema a provider publishes — the data shapes their API works in, in one list, without walking their artifacts. Free.
| Argument | Type | Description |
|---|---|---|
| q | string | Substring match on schema name or slug. |
| page | integer | Page number, 1-based (default 1). |
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"q": {
"type": "string",
"description": "Substring match on schema name or slug."
},
"page": {
"type": "integer",
"description": "Page number, 1-based (default 1)."
},
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Every MCP tool a provider ships, with the operation each one wraps and its auth. Reports provenance per tool: `first-party` means the provider publishes that server, `derived` means API Evangelist generated a candidate tool list from their OpenAPI because no hosted server was found. Filter with provenance=first-party for a true picture — counting derived tools as the provider's own overstates MCP adoption badly. A server whose tools could not be enumerated (auth-gated) is reported in coverage.not_enumerable rather than silently counted as zero.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| provenance | string | Restrict by who authored the tool list. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"page": {
"type": "integer",
"description": "Page number, 1-based (default 1)."
},
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"provenance": {
"enum": [
"first-party",
"derived"
],
"type": "string",
"description": "Restrict by who authored the tool list."
}
}
}UNDERSTANDING — A provider's REAL score time series: one point per scored build (composite + agent readiness on each date), plus a summary of the movement over the window — first/last, net change, direction, and the largest single-build jump with the date it happened. Not an implied previous point; these are the recorded snapshots. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — the rubric: bands, facet weights, trend thresholds, so an agent can interpret any score. Moved behind the paywall with the ratings data on 2026-08-31. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}One region: metadata + a top sample of its member providers (ranked, with the total). Use find_providers?region=slug for the full list, or view=full here. Results carry `next`: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Region slug, as find_regions returns it, e.g. "north-america". |
| view | string | summary (default, lean) or full. |
| limit | integer | Top members to show. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_next | boolean | Set false to omit the `next` affordance block. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Region slug, as find_regions returns it, e.g. \"north-america\"."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Top members to show."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
}
}
}UNDERSTANDING — Top-rated providers in a region. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Region slug, as find_regions returns it, e.g. "north-america". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Region slug, as find_regions returns it, e.g. \"north-america\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}One regulation: what it is, its jurisdiction and scope, a link to the law itself, and reaches[] — the country, region and industry cohorts this regime binds. Use reaches[] to go straight to the affected members with find_providers.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Regulation slug, as find_regulations returns it, e.g. "21-cfr-part-11". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Regulation slug, as find_regulations returns it, e.g. \"21-cfr-part-11\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}One tag: its metadata, neighbor tags, and a top sample of its providers and APIs (with totals). `provider_count` counts companies that classify THEMSELVES here; `api_provider_count` counts the ones reached only through an API or operation tag — the two are disjoint, and a tag with no providers and many APIs names a resource, not a market. `age` summarises when the members were created (created_last_30d/90d, the largest same-day batch, and how much of the first page by composite is under 30 days old) — a high first_page share means the top of the tag is new listings, and find_providers(tags, sort:"created") lists them newest first. Use find_apis?tags=slug / find_providers?tags=slug for the full ranked list, or view=full here. Results carry `next`: the sub-resources that exist for this entity and the exact tool call that retrieves each, computed from this record. Pass include_next=false to omit it.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Tag slug, as find_tags returns it, e.g. "payments". |
| view | string | summary (default, lean) or full. |
| limit | integer | Top members to show per list. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include_next | boolean | Set false to omit the `next` affordance block. |
One tag group: its member tags and the full provider roster resolved from the catalog, each with Kin Score and agent readiness. Filter the roster by industry, region, country or area. Free; the DISTRIBUTION over the roster (`stats`) needs Understanding. Note `source_provider_count` vs `provider_count` — the first comes from an index that caps band membership at 1,000, the second is resolved live and is the complete number.
| Argument | Type | Description |
|---|---|---|
| area | string | Narrow the roster to one or more area slugs (comma-separated). |
| slug* | string | Tag group slug, e.g. cards, logistics, wealth-management. |
| region | string | Narrow the roster to one or more region slugs (comma-separated). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| country | string | Narrow the roster to one or more country slugs (comma-separated). |
| industry | string | Narrow the roster to one or more industry slugs (comma-separated). |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"area": {
"type": "string",
"description": "Narrow the roster to one or more area slugs (comma-separated)."
},
"slug": {
"type": "string",
"description": "Tag group slug, e.g. cards, logistics, wealth-management."
},
"region": {
"type": "string",
"description": "Narrow the roster to one or more region slugs (comma-separated)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"country": {
"type": "string",
"description": "Narrow the roster to one or more country slugs (comma-separated)."
},
"industry": {
"type": "string",
"description": "Narrow the roster to one or more industry slugs (comma-separated)."
}
}
}UNDERSTANDING — One VC firm: identity, fund facts, and portfolio summary (totals, band distribution, average rating). Pass view=full to inline the whole portfolio. Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | VC firm slug, lowercase and hyphenated, as find_vcs returns it. |
| view | string | summary (default, lean) or full. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "VC firm slug, lowercase and hyphenated, as find_vcs returns it."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — Valuable artifact types (MCP, Arazzo, Rules, Skills…) commonly missing across a whole industry — where the vertical is under-served. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Industry slug, as find_industries returns it, e.g. "artificial-intelligence". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| min_share | number | Coverage threshold below which a type counts as an industry gap (0–1, default 0.5). |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Industry slug, as find_industries returns it, e.g. \"artificial-intelligence\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"min_share": {
"type": "number",
"description": "Coverage threshold below which a type counts as an industry gap (0–1, default 0.5)."
}
}
}Services, tools, or standards ranked by how many companies adopt them across the profiled set. Understanding plan. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| type | string | What to rank by adoption: "service" (default), "tool" or "standard". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"type": {
"enum": [
"service",
"tool",
"standard"
],
"type": "string",
"default": "service",
"description": "What to rank by adoption: \"service\" (default), \"tool\" or \"standard\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Cross-section ranking of the 40 tracked investment dimensions (AI, cloud, governance, security, …) by how many profiled companies show signal. Understanding plan. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — the demand-side industry rollup: the sectors the profiled companies fall into. Each row carries TWO counts and they answer different questions: `company_count` is the research roster, `profiled_count` is how many of those you can actually read back via find_company_insights(industry:) — size a cohort on profiled_count. The counterpart to find_industries, which counts SUPPLY (providers publishing APIs into a vertical) — this counts DEMAND (companies buying into it). Comparing the two is how you find a sector with buyers and no sellers. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — the Insights root: how many companies are profiled, over how many quarters, and the top investment dimensions across the whole set. Read this FIRST — it tells you the size and vintage of the corpus before you draw a conclusion from any single company in it. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — List the lists/shortlists you own. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — List the saved searches you own (name, criteria, when last run, how many matches are tracked). Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}INFLUENCE — the listings you are watching, with the events registered for each and when you started. The read half of watch_listing: call it before registering another, so you neither duplicate a watch nor assume one is in place that never took. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — The supply↔demand join: apis.io providers whose product appears in a company's adopted stack, ranked by rating. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Company (provider) slug, as find_company_insights returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Company (provider) slug, as find_company_insights returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}INFLUENCE — the check requests you filed, newest first. Requires a key or login — an anonymous caller has no identity to scope a list to, and should read a single request with check_status instead. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — the workspace root: which plan you are on, how many saved searches and lists you hold, and where each lives. Answers "what do I have here and what can I afford" in one call, so an agent need not probe. NOT the same as the account (login, API key, usage, billing), which is https://apis.io/api/v1/auth/me. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}INFLUENCE — what blocks the next agent-readiness band, GATES BEFORE POINTS. Some bands are unreachable on score alone: agent-native requires idempotency AND a stable error envelope regardless of how many points a provider collects. Returns the points gap and the unmet gate requirements separately, each priced, plus a verdict saying whether clearing the gate also closes the gap — the case a points-arithmetic answer gets wrong every time. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Design an API stack — the best-rated catalog provider per capability, assembled into a stack. The Understanding preview is the top pick per capability; the full answer adds alternatives, per-pick artifact gaps, and an exportable APIs.json + Arazzo hint. Decompose the domain into capabilities first, then pass them here. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| region | string | Optional region slug to prefer, e.g. europe. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| capabilities* | array | The capabilities the stack needs, e.g. ["payments","email","identity","observability"]. |
{
"type": "object",
"required": [
"capabilities"
],
"properties": {
"region": {
"type": "string",
"description": "Optional region slug to prefer, e.g. europe."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "The capabilities the stack needs, e.g. [\"payments\",\"email\",\"identity\",\"observability\"]."
}
}
}FREE, no account — register yourself in the A2A agent registry. Serve an agent card at /.well-known/agent-card.json on a host you control, then call this with its URL (or just the host). The card must be fetchable and pass the three A2A 1.0.0 hard checks: capabilities is an object, protocolVersion is present, skills is an array. 202 queues it for review; 422 says exactly which check failed. The card IS the evidence, so there is no form, no account, and nothing to wait for from us.
| Argument | Type | Description |
|---|---|---|
| role | string | Optional: whether the agent calls APIs (consumer), fronts one (provider), or both. Left out, it is inferred: a card host that serves /.well-known/api-onboarding is a provider. |
| contact | string | Optional: an email for questions about the registration. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| card_url* | string | Your agent card URL, or the host that serves it. |
| operator | string | Optional: who runs the agent. |
{
"type": "object",
"required": [
"card_url"
],
"properties": {
"role": {
"enum": [
"consumer",
"provider",
"both"
],
"type": "string",
"description": "Optional: whether the agent calls APIs (consumer), fronts one (provider), or both. Left out, it is inferred: a card host that serves /.well-known/api-onboarding is a provider."
},
"contact": {
"type": "string",
"description": "Optional: an email for questions about the registration."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"card_url": {
"type": "string",
"description": "Your agent card URL, or the host that serves it."
},
"operator": {
"type": "string",
"description": "Optional: who runs the agent."
}
}
}Report that the catalog has a provider WRONG — a wrong website, a wrong logo, APIs that are not theirs, a count that does not match what they ship, a score computed from any of those. Free, always: correcting our own error is never a paid feature. Read by a human. If you are the provider, say so — it does not gate anything, it tells us how fast to move.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The provider slug the record is filed under. |
| field | string | Optional field name: website, image, api_count, tags, score, access_model, apis. |
| wrong* | string | What is incorrect. Name the field if you can. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| correct | string | What it should say instead. |
| evidence | string | A URL that shows it — your own docs, your own site. This is what makes a correction actionable rather than a claim. |
| relationship | string | Your relationship to the provider. Never gates the report; it sets priority. |
{
"type": "object",
"required": [
"slug",
"wrong"
],
"properties": {
"slug": {
"type": "string",
"description": "The provider slug the record is filed under."
},
"field": {
"type": "string",
"description": "Optional field name: website, image, api_count, tags, score, access_model, apis."
},
"wrong": {
"type": "string",
"description": "What is incorrect. Name the field if you can."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"correct": {
"type": "string",
"description": "What it should say instead."
},
"evidence": {
"type": "string",
"description": "A URL that shows it — your own docs, your own site. This is what makes a correction actionable rather than a claim."
},
"relationship": {
"enum": [
"provider",
"customer",
"observer"
],
"type": "string",
"description": "Your relationship to the provider. Never gates the report; it sets priority."
}
}
}FREE, no account — tell the catalog what you looked for and could not find. The consumer door (roadmap#166): a gap report is how the catalog learns what to add next, and a person reads the queue. One required field.
| Argument | Type | Description |
|---|---|---|
| found | string | What the search turned up: "nothing", "wrong thing" or "listed but unusable". |
| contact | string | Optional email if you want to hear when the catalog can answer this. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| provider | string | Optional slug, when the gap is about an existing listing. |
| looked_for* | string | What you were looking for, in your own words. |
| needed_for | string | Optional: the task you needed it for. |
{
"type": "object",
"required": [
"looked_for"
],
"properties": {
"found": {
"enum": [
"nothing",
"wrong thing",
"listed but unusable"
],
"type": "string",
"description": "What the search turned up: \"nothing\", \"wrong thing\" or \"listed but unusable\"."
},
"contact": {
"type": "string",
"description": "Optional email if you want to hear when the catalog can answer this."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"provider": {
"type": "string",
"description": "Optional slug, when the gap is about an existing listing."
},
"looked_for": {
"type": "string",
"description": "What you were looking for, in your own words."
},
"needed_for": {
"type": "string",
"description": "Optional: the task you needed it for."
}
}
}INFLUENCE — ask APIs.io to (re)check something. Use it when a listing is wrong or stale, when a score looks incorrect, or to get a company profiled that is not in the catalog yet. A check can target a PROVIDER (the default) or a slice of the catalog: an `industry`, a `tag`, an `area`, or a company's `estate` — for an industry roster missing an obvious member, a tag that has drifted, or an area whose ranking looks wrong. This does NOT score anything on the spot: a check means re-running the enrichment pipeline against the live surface, which a person does by hand. You get a request id back immediately; poll check_status with it, and if you supply a contact email you are notified when the status changes. A slug we do not already hold is never refused — for ANY target type it is queued as a request to ADD that thing, whether that is a company nobody has catalogued, a new industry, or an estate nobody here has thought of. Near matches come back alongside it in `did_you_mean`, so a typo is visible without the request being dropped. Priced B4 (human work) — included in Influence; otherwise $99.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| url | string | The company or developer-portal URL — use this when there is no listing yet. Providers only; a url cannot name an industry. |
| kind | string | recheck an existing listing, profile a new company, or correct a specific fact. |
| slug | string | The target slug — a provider (e.g. stripe), or an industry/tag/area/estate slug when target_type says so. |
| notes | string | What is wrong, or what to look at. The more specific, the faster it is worked. |
Resolve ANY identifier — website URL, domain (stripe.com), or GitHub org (github.com/stripe) — to the apis.io provider it belongs to. Use this when you have a URL, not a slug. Understanding plan. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| identifier* | string | A domain, URL, or github.com/<org>. |
{
"type": "object",
"required": [
"identifier"
],
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"identifier": {
"type": "string",
"description": "A domain, URL, or github.com/<org>."
}
}
}UNDERSTANDING — Re-run one of your saved searches against the live catalog and return current matching providers. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| id* | string | Saved search id, as save_search returns it or list_saved_searches lists it. |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Saved search id, as save_search returns it or list_saved_searches lists it."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — Persist the current search criteria as a named saved search you own, so you can re-run it and get net-new results later. Criteria use the same filters as apis_io_search. Requires an apis.io API key. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| q | string | Free text over name + description, e.g. "sms". |
| area | array | Area slugs, e.g. ["security"]. |
| band | array | exemplar | strong | developing | thin | minimal. |
| name* | string | Name for the saved search, e.g. "EU payments, strong+". |
| tags | array | Tag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags). |
| match | string | How `tags` combine: any (default) or all. |
| region | array | Region slugs, e.g. ["north-america"]. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| industry | array |
UNDERSTANDING — What is NEW for a saved search since you last checked: providers that newly match your criteria. Advances the delta cursor, so each call reports only what changed since the previous call. The agent-native version of the demand report. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| id* | string | Saved search id, as save_search returns it or list_saved_searches lists it. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Saved search id, as save_search returns it or list_saved_searches lists it."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}INFLUENCE — ask to be shown less, or not at all. `restricted` keeps a name, a description and a link to your own site, unrated and out of every ranked view; `delisted` removes you entirely. Returns 202 and is applied by a person: it strips artifacts, pages and rollups across the network, which is not something to do irreversibly on one API call. Priced B4 (human work) — worked by a person, no charge. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| reason | string | Why you are changing visibility — read by the person who works the request. |
| contact | string | Optional email address we can reply to about this request, e.g. "[email protected]". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| visibility* | string | "restricted" (name, description and link only, unrated) or "delisted" (removed from the catalog). |
{
"type": "object",
"required": [
"slug",
"visibility"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"reason": {
"type": "string",
"description": "Why you are changing visibility — read by the person who works the request."
},
"contact": {
"type": "string",
"description": "Optional email address we can reply to about this request, e.g. \"[email protected]\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"visibility": {
"enum": [
"restricted",
"delisted"
],
"type": "string",
"description": "\"restricted\" (name, description and link only, unrated) or \"delisted\" (removed from the catalog)."
}
}
}INFLUENCE — project a set of fixes onto a provider's agent-readiness score and band before doing the work. Re-applies the band gate to the PROJECTED state, so it will tell you when buying points still leaves you demoted. Kin Score facets are refused rather than estimated: several checks behind them are count-based across a provider's APIs, so a single claimed fix has no computable composite value. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| fixes* | array | Agent-readiness dimension ids to assume fixed, e.g. ["idempotency","mcp_server"]. what_can_i_fix lists the available ones. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug",
"fixes"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"fixes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Agent-readiness dimension ids to assume fixed, e.g. [\"idempotency\",\"mcp_server\"]. what_can_i_fix lists the available ones."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}OWNER — The weekly "what's worth writing" rollup: ranked story leads from the demand map crossed with rating movement — unmet demand (searched, no result), risers/fallers, and hot-but-thin capabilities. Each lead is a headline, its signal, and a suggested angle. include=["raw"] appends the underlying demand report. Not purchasable: owner-only, at any price.
| Argument | Type | Description |
|---|---|---|
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | Pass ["raw"] to include the raw demand and movement rows behind each lead. |
{
"type": "object",
"properties": {
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"raw"
]
},
"description": "Pass [\"raw\"] to include the raw demand and movement rows behind each lead."
}
}
}INFLUENCE — tell us about an artifact you publish, rather than waiting for us to find it. Returns 202; a person fetches it, checks it and re-runs the pipeline against it. Track it with check_status. Priced B4 (human work) — included in Influence; otherwise $49.00 as a one-off with its own receipt, never from a prepaid balance. If this is your own company and our data about it is wrong, report_correction is free. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public URL of the artifact you publish, e.g. "https://example.com/openapi.yaml". |
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| type* | string | e.g. OpenAPI, AsyncAPI, MCP. |
| contact | string | Optional email address we can reply to about this request, e.g. "[email protected]". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug",
"type",
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public URL of the artifact you publish, e.g. \"https://example.com/openapi.yaml\"."
},
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"type": {
"type": "string",
"description": "e.g. OpenAPI, AsyncAPI, MCP."
},
"contact": {
"type": "string",
"description": "Optional email address we can reply to about this request, e.g. \"[email protected]\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}Report something wrong with a result: wrong data, a filter that did not filter, a ranking that put off-topic results first, a number you could not reproduce, or an answer that was useless for your task. Free, and the fastest way to get a defect fixed — this is read by a human. Say what you expected as well as what you got.
| Argument | Type | Description |
|---|---|---|
| tool | string | Optional name of the tool that produced it. |
| about | string | Optional slug, aid or tag the report concerns. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| problem* | string | What was wrong. Be specific — the tool you called, the arguments, and what came back. |
| expected | string | What you expected instead. |
| severity | string | wrong = factually incorrect; misleading = correct but reads as something else; unhelpful = right and useless. |
{
"type": "object",
"required": [
"problem"
],
"properties": {
"tool": {
"type": "string",
"description": "Optional name of the tool that produced it."
},
"about": {
"type": "string",
"description": "Optional slug, aid or tag the report concerns."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"problem": {
"type": "string",
"description": "What was wrong. Be specific — the tool you called, the arguments, and what came back."
},
"expected": {
"type": "string",
"description": "What you expected instead."
},
"severity": {
"enum": [
"wrong",
"misleading",
"unhelpful"
],
"type": "string",
"description": "wrong = factually incorrect; misleading = correct but reads as something else; unhelpful = right and useless."
}
}
}The member tags of one tag group, each joined to its catalog record — provider count, api count, tag quality band and composite. Use it to see what a group is actually made of before trusting the group as a market. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based (default 1). |
| slug* | string | Tag group slug, as find_tag_groups returns it, e.g. "company". |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"page": {
"type": "integer",
"description": "Page number, 1-based (default 1)."
},
"slug": {
"type": "string",
"description": "Tag group slug, as find_tag_groups returns it, e.g. \"company\"."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}INFLUENCE — stop watching a listing. Takes effect immediately and removes the registration outright; there is no paused state. Removing a watch that was never registered is not an error. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug of the listing, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug of the listing, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — A VC firm's portfolio companies, each matched to the network and rated. Filter publishes_api=true (companies that actually ship an API — about 37% of any book), in_network=true, band, or min_score; sort by score (default), api_count, or name. The demand-side view of who a fund has backed. Understanding plan. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| band | array | exemplar | strong | developing | thin | minimal. |
| page | integer | Page number, 1-based (default 1). |
| slug* | string | VC firm slug, lowercase and hyphenated, as find_vcs returns it. |
| sort | string | Order: score, api_count or name. |
| limit | integer | Results per page, 1-100 (default 25). |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| min_score | number | Only companies whose Kin Score composite is at or above this, 0-100. |
INFLUENCE — be told when a listing you care about moves: score changes, band changes, agent-band changes, or a check closing. REQUIRES a destination: `contact` (an email address), `callback_url` (an https endpoint that receives signed JSON), or both. The first pass after registering records where the provider stands and sends nothing, so the first notification you get is about a real move. `agent_band` is the one worth having — it carries the gate that caused the change, which a provider cannot compute about themselves. Re-registering the same slug REPLACES its event set rather than adding a second watch. list_watches shows what you hold; unwatch_listing removes one. Priced B1 (single-entity synthesis) — $0.01 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug of the listing, as find_providers returns it, e.g. "stripe". |
| events | array | score, band, agent_band, check. Defaults to all four. |
| contact | string | Email address for notifications. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| callback_url | string | HTTPS endpoint for signed webhook delivery. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug of the listing, as find_providers returns it, e.g. \"stripe\"."
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"description": "score, band, agent_band, check. Defaults to all four."
},
"contact": {
"type": "string",
"description": "Email address for notifications."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"callback_url": {
"type": "string",
"description": "HTTPS endpoint for signed webhook delivery."
}
}
}INFLUENCE — the ranked, gated punch list for one provider you own. Every agent-readiness check with points still on the table (exact — these are real per-check results, each with what satisfies it), plus the Kin Score facets ranked by weight x headroom rather than by lowest score. `do_first` is the headline and prefers a BAND GATE over any amount of points, because points cannot clear a gate. Use readiness_gates for the gate detail and simulate_fixes to price a plan before committing to it. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. "stripe". |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}UNDERSTANDING — What changed in the catalog since a date: providers added/updated, plus rating movement measured FROM THAT DATE — each provider's current score against its score at the first scored snapshot on or after `since`, with `was` and `compared_to` on every row. `basis` says whether the answer came from the recorded history or (when no snapshot covers the date) from last-build trend. Priced per result — $0.005 per request plus $0.0002 per record returned (less past 100), capped at $0.50 a request, under pay-as-you-go; included in Understanding and Influence. Estimate first at /api/v1/prices/estimate. See apis://prices.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Results per page, 1-100 (default 25). |
| since* | string | YYYY-MM-DD. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
{
"type": "object",
"required": [
"since"
],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"since": {
"type": "string",
"description": "YYYY-MM-DD."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
}
}
}| return |
| string |
| Return only this kind of match. Default: every kind. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| industry | array | Industry slugs, e.g. ["fintech"]. |
| min_score | number | Minimum Kin Score composite (0-100), e.g. 60. |
| providers | array | Provider slugs to restrict all three sections to, e.g. ["stripe"]. |
| artifact_types | array | Artifact types required, e.g. ["OpenAPI"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"area": {
"type": "array",
"items": {
"type": "string"
},
"description": "Area slugs, e.g. [\"security\"]."
},
"band": {
"type": "array",
"items": {
"type": "string"
},
"description": "exemplar | strong | developing | thin | minimal."
},
"sort": {
"enum": [
"relevance",
"composite",
"name",
"created",
"modified",
"api_count",
"demand"
],
"type": "string",
"description": "Default: relevance with `q`, else composite."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 25,
"minimum": 1,
"description": "Top matches to return per section (apis/providers/tags)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"region": {
"type": "array",
"items": {
"type": "string"
},
"description": "Region slugs, e.g. [\"north-america\"]."
},
"return": {
"enum": [
"apis",
"providers",
"tags"
],
"type": "string",
"description": "Return only this kind of match. Default: every kind."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"industry": {
"type": "array",
"items": {
"type": "string"
},
"description": "Industry slugs, e.g. [\"fintech\"]."
},
"min_score": {
"type": "number",
"description": "Minimum Kin Score composite (0-100), e.g. 60."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs to restrict all three sections to, e.g. [\"stripe\"]."
},
"artifact_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Artifact types required, e.g. [\"OpenAPI\"]."
}
}
}| description |
| string |
| The description as it should read — one or two sentences. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"url": {
"type": "string",
"description": "The provider's correct website, e.g. \"https://example.com\"."
},
"name": {
"type": "string",
"description": "The provider name as it should read, e.g. \"Acme Payments\"."
},
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs that should apply, e.g. [\"payments\",\"payouts\"]."
},
"contact": {
"type": "string",
"description": "Optional email address we can reply to about this request, e.g. \"[email protected]\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Industry slugs that should apply, e.g. [\"financial-services\"]."
},
"description": {
"type": "string",
"description": "The description as it should read — one or two sentences."
}
}
}{
"type": "object",
"properties": {
"cursor": {
"type": "integer",
"minimum": 0,
"description": "Resume offset from a previous response's next_cursor. Omit for the first page; keep calling while next_cursor is not null."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"dataset": {
"enum": [
"ratings",
"providers",
"history"
],
"type": "string",
"default": "ratings",
"description": "Which dataset to export: \"ratings\" (default), \"providers\" or \"history\"."
},
"co_brand": {
"type": "string",
"description": "Optional partner name for a co-branded license — stamps the attribution the license carries."
}
}
}| Comma-separated dimensions the provider must NOT satisfy (ANDed) — the gap view. |
| min_score | number | Minimum agent-readiness score, 0-100. |
{
"type": "object",
"properties": {
"has": {
"type": "string",
"description": "Comma-separated dimensions the provider MUST satisfy (ANDed), e.g. mcp_server,idempotency."
},
"band": {
"type": "string",
"description": "Restrict to one or more agent-readiness bands."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"agent_score"
],
"type": "string",
"description": "Ranked by agent readiness, highest first."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"missing": {
"type": "string",
"description": "Comma-separated dimensions the provider must NOT satisfy (ANDed) — the gap view."
},
"min_score": {
"type": "number",
"description": "Minimum agent-readiness score, 0-100."
}
}
}| string |
| How `tags` combine: any (default) or all. |
| fields | array | Only these top-level keys, e.g. ["slug","score"]. |
| public | boolean | Callable with no signup (onboarding=open). |
| region | array | Region slugs, e.g. ["north-america"]. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| include | array | via_provider: also return APIs of providers whose name matched `q`. Needs `q`. |
| pricing | array | free | freemium | free-trial | paid | enterprise, e.g. ["free"]. |
| resolve | string | on (default) uses a tag `q` names; off = text only. |
| try_now | boolean | Usable at no cost right now (free/trial + self-serve/open). |
| industry | array | Industry slugs, e.g. ["fintech"]. |
| min_score | number | Minimum Kin Score composite (0-100), e.g. 60. |
| providers | array | Provider slugs, e.g. ["stripe"]. |
| onboarding | array | open (no key) | self-serve | approval. |
| provenance | string | modeled | unpublished | published | documented, e.g. "documented". Omit for all. Meanings: apis://docs/tools/find_apis. |
| artifact_types | array | Artifact types required, e.g. ["OpenAPI"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"area": {
"type": "array",
"items": {
"type": "string"
},
"description": "Area slugs, e.g. [\"security\"]."
},
"band": {
"type": "array",
"items": {
"type": "string"
},
"description": "exemplar | strong | developing | thin | minimal."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"composite",
"name",
"created",
"modified",
"api_count",
"demand"
],
"type": "string",
"description": "Default: relevance with `q`, else composite."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only these top-level keys, e.g. [\"slug\",\"score\"]."
},
"public": {
"type": "boolean",
"description": "Callable with no signup (onboarding=open)."
},
"region": {
"type": "array",
"items": {
"type": "string"
},
"description": "Region slugs, e.g. [\"north-america\"]."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"via_provider"
]
},
"description": "via_provider: also return APIs of providers whose name matched `q`. Needs `q`."
},
"pricing": {
"type": "array",
"items": {
"type": "string"
},
"description": "free | freemium | free-trial | paid | enterprise, e.g. [\"free\"]."
},
"resolve": {
"enum": [
"on",
"off"
],
"type": "string",
"default": "on",
"description": "on (default) uses a tag `q` names; off = text only."
},
"try_now": {
"type": "boolean",
"description": "Usable at no cost right now (free/trial + self-serve/open)."
},
"industry": {
"type": "array",
"items": {
"type": "string"
},
"description": "Industry slugs, e.g. [\"fintech\"]."
},
"min_score": {
"type": "number",
"description": "Minimum Kin Score composite (0-100), e.g. 60."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
},
"onboarding": {
"type": "array",
"items": {
"type": "string"
},
"description": "open (no key) | self-serve | approval."
},
"provenance": {
"enum": [
"modeled",
"unpublished",
"published",
"documented"
],
"type": "string",
"description": "modeled | unpublished | published | documented, e.g. \"documented\". Omit for all. Meanings: apis://docs/tools/find_apis."
},
"artifact_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Artifact types required, e.g. [\"OpenAPI\"]."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| array |
| Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array | Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"required": [
"type"
],
"properties": {
"q": {
"type": "string",
"description": "Free text matched against artifact name and description, e.g. \"refunds\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs the artifact's API carries, e.g. [\"payments\"]."
},
"type": {
"type": "string",
"description": "Artifact collection to browse — plural: openapis, asyncapis, arazzo, postman, collections, graphql, json-schemas, json-structures, json-ld, rules, examples, finops, plans, rate-limits, apis-json, mcp, skills, channels, scopes, security. E.g. \"openapis\"."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| AsyncAPI spec version — the `asyncapi:` declaration, e.g. 2.6.0 or 3.0.0. |
| providers | array | Provider slugs, e.g. ["stripe"]. |
| info_version | string | The document's OWN version from info.version, set by whoever wrote the spec. Absent on 70% of them. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"version": {
"type": "string",
"description": "AsyncAPI spec version — the `asyncapi:` declaration, e.g. 2.6.0 or 3.0.0."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
},
"info_version": {
"type": "string",
"description": "The document's OWN version from info.version, set by whoever wrote the spec. Absent on 70% of them."
}
}
}{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Match against name, BC id or industry."
},
"all": {
"type": "boolean",
"description": "Include capabilities with zero catalog coverage (default false)."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"industry": {
"type": "string",
"description": "e.g. \"Banking & Capital Markets\", \"Software & Technology\"."
}
}
}| AsyncAPI spec version the channel is defined in, e.g. 2.6.0 or 3.0.0. |
| protocol | string | Transport the channel runs over: ws, http, sse, kafka, mqtt, amqp, nats, grpc… Empty where the document never says, which is most of them. |
| providers | array | Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"version": {
"type": "string",
"description": "AsyncAPI spec version the channel is defined in, e.g. 2.6.0 or 3.0.0."
},
"protocol": {
"type": "string",
"description": "Transport the channel runs over: ws, http, sse, kafka, mqtt, amqp, nats, grpc… Empty where the document never says, which is most of them."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Substring match on cohort name or slug."
},
"kind": {
"enum": [
"tag",
"industry",
"region",
"area",
"vc"
],
"type": "string",
"description": "Restrict to one roster source."
},
"page": {
"type": "integer",
"description": "Page number, 1-based (default 1)."
},
"tier": {
"enum": [
"report",
"brief",
"data"
],
"type": "string",
"description": "Promotion tier: report (100+, report-grade), brief (25+), data (everything else)."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"min_providers": {
"type": "integer",
"description": "Only cohorts with at least this many providers. 25+ is brief-grade, 100+ report-grade."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"item_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or item_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"key_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or key_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array | Provider slugs, e.g. ["stripe"]. |
| billing_model | string | Pricing category substring, e.g. "subscription", "usage", "prepaid", "take rate". |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"method": {
"type": "string",
"description": "Who wrote the file: \"searched\", \"probed\", \"generated\" (unverified sweep output), \"unmarked\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
},
"billing_model": {
"type": "string",
"description": "Pricing category substring, e.g. \"subscription\", \"usage\", \"prepaid\", \"take rate\"."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"class_count",
"property_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or class_count / property_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| Provider slugs, e.g. ["stripe"]. |
| struct_type | string | Root type: object, array, datetime, … |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"property_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or property_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
},
"struct_type": {
"type": "string",
"description": "Root type: object, array, datetime, …"
}
}
}| Provider slugs, e.g. ["stripe"]. |
| install_method | string | How the server is delivered: "Hosted endpoint", "GitHub repo", "Documentation link". |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
},
"install_method": {
"type": "string",
"description": "How the server is delivered: \"Hosted endpoint\", \"GitHub repo\", \"Documentation link\"."
}
}
}| array |
| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| boolean |
| Only operations the provider marked deprecated. |
| max_providers | integer | How many matching providers to read (default 40, cap 100). |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Path words, all of which must appear, e.g. \"refunds\" or \"payment intents\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS"
],
"type": "string",
"description": "Only operations with this HTTP method, e.g. \"POST\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"deprecated": {
"type": "boolean",
"description": "Only operations the provider marked deprecated."
},
"max_providers": {
"type": "integer",
"description": "How many matching providers to read (default 40, cap 100)."
}
}
}| array |
| Pass ["content"] to inline each artifact's body instead of just its URL. |
| purpose | string | What the actions touch: "phrasing" (x-apievangelist-phrasing per operation), "servers", "documentation", "security", "removal", "update". |
| providers | array | Provider slugs, e.g. ["stripe"]. |
| authorship | string | Who wrote the overlay: "provider" (published or hosted by the provider), "derived" (API Evangelist, from the provider's contracts), "generated" (API Evangelist tooling — most are conversational phrasing), "unmarked" (no record; never presented as the provider's). |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"action_count",
"target_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or action_count / target_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"purpose": {
"type": "string",
"description": "What the actions touch: \"phrasing\" (x-apievangelist-phrasing per operation), \"servers\", \"documentation\", \"security\", \"removal\", \"update\"."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
},
"authorship": {
"type": "string",
"description": "Who wrote the overlay: \"provider\" (published or hosted by the provider), \"derived\" (API Evangelist, from the provider's contracts), \"generated\" (API Evangelist tooling — most are conversational phrasing), \"unmarked\" (no record; never presented as the provider's)."
}
}
}| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| audience | string | Who the pricing page prices for: "developer-api" (API or platform usage), "business-product" (the product the API comes with), "consumer" (a fee schedule), "unclear". |
| providers | array | Provider slugs, e.g. ["stripe"]. |
| pricing_basis | string | How it is priced: "per-call", "per-seat", "ad-valorem", "flat-platform", "tiered-subscription", "usage-other", "negotiated", "free", "none". |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"plan_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or plan_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"method": {
"type": "string",
"description": "Who wrote the file: \"searched\" (transcribed from the provider's page), \"probed\" (read live), \"generated\" (API Evangelist sweep, unverified), \"unmarked\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"audience": {
"type": "string",
"description": "Who the pricing page prices for: \"developer-api\" (API or platform usage), \"business-product\" (the product the API comes with), \"consumer\" (a fee schedule), \"unclear\"."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
},
"pricing_basis": {
"type": "string",
"description": "How it is priced: \"per-call\", \"per-seat\", \"ad-valorem\", \"flat-platform\", \"tiered-subscription\", \"usage-other\", \"negotiated\", \"free\", \"none\"."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| integer |
| Results per page, 1-100 (default 25). |
| match | string | How `tags` combine: any (default) or all. |
| trend | string | up | down | flat since last scoring. |
| fields | array | Only these top-level keys, e.g. ["slug","score"]. |
| public | boolean | Callable with no signup (onboarding=open). |
| region | array | Region slugs, e.g. ["north-america"]. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| country | array | Country slugs, e.g. ["united-kingdom"]. |
| pricing | array | free | freemium | free-trial | paid | enterprise, e.g. ["free"]. |
| resolve | string | on (default) uses a tag `q` names; off = text only. |
| try_now | boolean | Usable at no cost right now (free/trial + self-serve/open). |
| api_tags | array | Tags on its APIs, e.g. ["webhook"]. |
| industry | array | Industry slugs, e.g. ["fintech"]. |
| platform | array | Vendor slugs, e.g. ["mintlify"]. |
| max_score | number | Maximum composite, e.g. 60. |
| min_facet | number | Minimum `facet` score, e.g. 70. |
| min_score | number | Minimum Kin Score composite (0-100), e.g. 60. |
| providers | array | Provider slugs, e.g. ["stripe"]. |
| min_acting | integer | Minimum write operations, e.g. 5. |
| onboarding | array | open (no key) | self-serve | approval. |
| size_basis | string | Size source, e.g. sec-edgar. |
| size_status | string | probed | unprobed (use probed for small firms). |
| revenue_band | string | Revenue band(s), e.g. "$1-10M". |
| platform_area | string | Platform area, e.g. hosting. |
| publishes_api | boolean | true = publishes an API. |
| accepts_writes | boolean | true = has write operations; false = read-only. |
| artifact_types | array | Artifact types required, e.g. ["OpenAPI"]. |
| employees_band | string | Size band(s), e.g. "1-10,11-50". |
| include_narrower | boolean | With `tags`: add narrower-tag members. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"area": {
"type": "array",
"items": {
"type": "string"
},
"description": "Area slugs, e.g. [\"security\"]."
},
"band": {
"type": "array",
"items": {
"type": "string"
},
"description": "exemplar | strong | developing | thin | minimal."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"composite",
"name",
"created",
"modified",
"api_count",
"demand"
],
"type": "string",
"description": "Default: relevance with `q`, else composite."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"facet": {
"type": "string",
"description": "Facet, e.g. governance; needs min_facet."
},
"group": {
"enum": [
"estate"
],
"type": "string",
"description": "estate: one row per estate."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"trend": {
"type": "string",
"description": "up | down | flat since last scoring."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only these top-level keys, e.g. [\"slug\",\"score\"]."
},
"public": {
"type": "boolean",
"description": "Callable with no signup (onboarding=open)."
},
"region": {
"type": "array",
"items": {
"type": "string"
},
"description": "Region slugs, e.g. [\"north-america\"]."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"country": {
"type": "array",
"items": {
"type": "string"
},
"description": "Country slugs, e.g. [\"united-kingdom\"]."
},
"pricing": {
"type": "array",
"items": {
"type": "string"
},
"description": "free | freemium | free-trial | paid | enterprise, e.g. [\"free\"]."
},
"resolve": {
"enum": [
"on",
"off"
],
"type": "string",
"default": "on",
"description": "on (default) uses a tag `q` names; off = text only."
},
"try_now": {
"type": "boolean",
"description": "Usable at no cost right now (free/trial + self-serve/open)."
},
"api_tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags on its APIs, e.g. [\"webhook\"]."
},
"industry": {
"type": "array",
"items": {
"type": "string"
},
"description": "Industry slugs, e.g. [\"fintech\"]."
},
"platform": {
"type": "array",
"items": {
"type": "string"
},
"description": "Vendor slugs, e.g. [\"mintlify\"]."
},
"max_score": {
"type": "number",
"description": "Maximum composite, e.g. 60."
},
"min_facet": {
"type": "number",
"description": "Minimum `facet` score, e.g. 70."
},
"min_score": {
"type": "number",
"description": "Minimum Kin Score composite (0-100), e.g. 60."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
},
"min_acting": {
"type": "integer",
"description": "Minimum write operations, e.g. 5."
},
"onboarding": {
"type": "array",
"items": {
"type": "string"
},
"description": "open (no key) | self-serve | approval."
},
"size_basis": {
"type": "string",
"description": "Size source, e.g. sec-edgar."
},
"size_status": {
"type": "string",
"description": "probed | unprobed (use probed for small firms)."
},
"revenue_band": {
"type": "string",
"description": "Revenue band(s), e.g. \"$1-10M\"."
},
"platform_area": {
"type": "string",
"description": "Platform area, e.g. hosting."
},
"publishes_api": {
"type": "boolean",
"description": "true = publishes an API."
},
"accepts_writes": {
"type": "boolean",
"description": "true = has write operations; false = read-only."
},
"artifact_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Artifact types required, e.g. [\"OpenAPI\"]."
},
"employees_band": {
"type": "string",
"description": "Size band(s), e.g. \"1-10,11-50\"."
},
"include_narrower": {
"type": "boolean",
"description": "With `tags`: add narrower-tag members."
}
}
}| include | array | Pass ["content"] to inline each artifact's body instead of just its URL. |
| providers | array | Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"limit_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or limit_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"method": {
"type": "string",
"description": "Who wrote the file: \"searched\", \"probed\", \"generated\" (unverified sweep output), \"unmarked\"."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| context |
| string |
| Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| max_score | number | Only ratings at or below this composite. Pair with min_score for a range. |
| min_facet | number | Minimum score on `facet` (0-100); ignored without `facet`. E.g. 70. |
| min_score | number | Minimum Kin Score composite (0-100), e.g. 60. |
| providers | array | Restrict to these provider slugs — the ratings of a named set. |
{
"type": "object",
"properties": {
"band": {
"type": "array",
"items": {
"type": "string"
},
"description": "Rating bands: exemplar, strong, developing, thin, minimal, e.g. [\"strong\",\"exemplar\"]."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"composite",
"delta",
"discoverability",
"contract_quality",
"contract_governance",
"operational_transparency",
"developer_ergonomics",
"access_clarity",
"governance",
"commercial_clarity"
],
"type": "string",
"description": "Leaderboard order; default composite."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs the provider carries, e.g. [\"payments\"]."
},
"facet": {
"type": "string",
"description": "Facet to threshold with min_facet: discoverability, contract_quality, contract_governance, operational_transparency, developer_ergonomics, access_clarity."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"trend": {
"type": "string",
"description": "Week-over-week movement: \"rising\" (+5 or more), \"falling\" (-5 or more) or \"flat\" (within 5)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"max_score": {
"type": "number",
"description": "Only ratings at or below this composite. Pair with min_score for a range."
},
"min_facet": {
"type": "number",
"description": "Minimum score on `facet` (0-100); ignored without `facet`. E.g. 70."
},
"min_score": {
"type": "number",
"description": "Minimum Kin Score composite (0-100), e.g. 60."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to these provider slugs — the ratings of a named set."
}
}
}{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text matched against name and description, e.g. \"payments\"."
},
"kind": {
"type": "string",
"description": "Kind of regime: regulation, statute, accreditation or regulator-guidance."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"scope": {
"type": "string",
"description": "Regulation scope; \"horizontal\" returns regimes that bind regardless of industry."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"jurisdiction": {
"type": "string",
"description": "Case-insensitive substring of the jurisdiction, e.g. \"EU\" or \"United States\"."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"rule_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or rule_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| providers | array | Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"scope_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or scope_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| providers | array | Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name",
"scheme_count"
],
"type": "string",
"description": "Order: relevance / provider / name, or scheme_count (largest first)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| Provider slugs, e.g. ["stripe"]. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"provider",
"name"
],
"type": "string",
"description": "Order: relevance (catalog order), provider, or name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Provider slugs, e.g. [\"stripe\"]."
}
}
}| Only groups holding at least this many tags. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Substring match on group name, slug or member tag."
},
"page": {
"type": "integer",
"description": "Page number, 1-based (default 1)."
},
"basis": {
"enum": [
"cooccurrence",
"facet"
],
"type": "string",
"description": "cooccurrence groups are evidence-based; facet groups are a weaker fallback bucket for tags with no co-occurrence edge."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"exclude": {
"type": "string",
"description": "Comma-separated: cross_cutting (plumbing every provider has), sparse (a chain label propagation strung together, not a cluster). Use both when drawing a capabilities map."
},
"min_tags": {
"type": "integer",
"description": "Only groups holding at least this many tags."
}
}
}| context |
| string |
| Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| min_api_count | integer | Only tags applied to at least this many APIs. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"axis": {
"type": "string",
"description": "market | capability | persona | posture. Comma-separated for more than one."
},
"band": {
"type": "string",
"description": "canonical | established | emerging | niche | stale | posture."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"sort": {
"enum": [
"relevance",
"composite",
"name",
"created",
"modified",
"api_count",
"demand"
],
"type": "string",
"description": "Default: relevance with `q`, else composite."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only these top-level keys, e.g. [\"slug\",\"score\"]."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"min_api_count": {
"type": "integer",
"minimum": 0,
"description": "Only tags applied to at least this many APIs."
}
}
}| include |
| array |
| Pass ["content"] to inline each artifact's body instead of just its URL. |
| artifact_types | array | Only APIs carrying these artifact types, e.g. ["OpenAPI"]. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only these top-level keys, e.g. [\"slug\",\"score\"]."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include": {
"type": "array",
"items": {
"enum": [
"content"
]
},
"description": "Pass [\"content\"] to inline each artifact's body instead of just its URL."
},
"artifact_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only APIs carrying these artifact types, e.g. [\"OpenAPI\"]."
}
}
}| string |
| Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| consequence | string | Agentic consequence, e.g. "read". Only matches operations with agentic-access profiled. |
| action_class | string | Agentic action class, e.g. "connected". |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"q": {
"type": "string",
"description": "Substring match on summary, path, or operationId."
},
"api": {
"type": "string",
"description": "Restrict to one API, by aid or api slug."
},
"page": {
"type": "integer",
"description": "Page number, 1-based (default 1)."
},
"path": {
"type": "string",
"description": "Substring match on the operation path."
},
"slug": {
"type": "string",
"description": "Provider slug — lowercase, hyphenated, as find_providers returns it, e.g. \"stripe\"."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS"
],
"type": "string",
"description": "Restrict to one HTTP method."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"consequence": {
"type": "string",
"description": "Agentic consequence, e.g. \"read\". Only matches operations with agentic-access profiled."
},
"action_class": {
"type": "string",
"description": "Agentic action class, e.g. \"connected\"."
}
}
}{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Tag slug, as find_tags returns it, e.g. \"payments\"."
},
"view": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary",
"description": "summary (default, lean) or full."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Top members to show per list."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"include_next": {
"type": "boolean",
"default": true,
"description": "Set false to omit the `next` affordance block."
}
}
}| contact | string | Email to notify when the status changes. Optional; without it there is nothing to notify, so keep the id. |
| context | string | Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong. |
| target_type | string | What `slug` names. Defaults to provider. `estate` is named for the company the estate roots at (e.g. cisco). |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The company or developer-portal URL — use this when there is no listing yet. Providers only; a url cannot name an industry."
},
"kind": {
"enum": [
"recheck",
"profile",
"correction"
],
"type": "string",
"description": "recheck an existing listing, profile a new company, or correct a specific fact."
},
"slug": {
"type": "string",
"description": "The target slug — a provider (e.g. stripe), or an industry/tag/area/estate slug when target_type says so."
},
"notes": {
"type": "string",
"description": "What is wrong, or what to look at. The more specific, the faster it is worked."
},
"contact": {
"type": "string",
"description": "Email to notify when the status changes. Optional; without it there is nothing to notify, so keep the id."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"target_type": {
"enum": [
"provider",
"industry",
"tag",
"area",
"estate"
],
"type": "string",
"description": "What `slug` names. Defaults to provider. `estate` is named for the company the estate roots at (e.g. cisco)."
}
}
}| Industry slugs, e.g. ["fintech"]. |
| min_score | number | Minimum Kin Score composite (0-100), e.g. 60. |
| artifact_types | array | Artifact types required, e.g. ["OpenAPI"]. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"q": {
"type": "string",
"description": "Free text over name + description, e.g. \"sms\"."
},
"area": {
"type": "array",
"items": {
"type": "string"
},
"description": "Area slugs, e.g. [\"security\"]."
},
"band": {
"type": "array",
"items": {
"type": "string"
},
"description": "exemplar | strong | developing | thin | minimal."
},
"name": {
"type": "string",
"description": "Name for the saved search, e.g. \"EU payments, strong+\"."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
},
"match": {
"enum": [
"any",
"all"
],
"type": "string",
"default": "any",
"description": "How `tags` combine: any (default) or all."
},
"region": {
"type": "array",
"items": {
"type": "string"
},
"description": "Region slugs, e.g. [\"north-america\"]."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"industry": {
"type": "array",
"items": {
"type": "string"
},
"description": "Industry slugs, e.g. [\"fintech\"]."
},
"min_score": {
"type": "number",
"description": "Minimum Kin Score composite (0-100), e.g. 60."
},
"artifact_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Artifact types required, e.g. [\"OpenAPI\"]."
}
}
}| in_network | boolean | Only portfolio companies that resolve to a provider on the network. |
| is_provider | boolean | Only portfolio companies with a provider profile on the network. Nearly every row qualifies (a profile is created for each portfolio company), so this barely narrows anything — use publishes_api instead. |
| publishes_api | boolean | Only portfolio companies that publish an API indexed on the network — the real rate is about 37% of a book, not 100%. This is the filter you want for "how much of this fund ships an API". |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"band": {
"type": "array",
"items": {
"type": "string"
},
"description": "exemplar | strong | developing | thin | minimal."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, 1-based (default 1)."
},
"slug": {
"type": "string",
"description": "VC firm slug, lowercase and hyphenated, as find_vcs returns it."
},
"sort": {
"enum": [
"score",
"api_count",
"name"
],
"type": "string",
"description": "Order: score, api_count or name."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"context": {
"type": "string",
"description": "Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
},
"min_score": {
"type": "number",
"description": "Only companies whose Kin Score composite is at or above this, 0-100."
},
"in_network": {
"type": "boolean",
"description": "Only portfolio companies that resolve to a provider on the network."
},
"is_provider": {
"type": "boolean",
"description": "Only portfolio companies with a provider profile on the network. Nearly every row qualifies (a profile is created for each portfolio company), so this barely narrows anything — use publishes_api instead."
},
"publishes_api": {
"type": "boolean",
"description": "Only portfolio companies that publish an API indexed on the network — the real rate is about 37% of a book, not 100%. This is the filter you want for \"how much of this fund ships an API\"."
}
}
}