// data sources

Curated data sources

10 data sources, one REST base, one API key, one credit balance. You never open an account with an upstream provider, never hold a second key, and never reconcile a second invoice. Requests are validated before they leave the platform, and a failed call costs you nothing.

rest · mcpbearer authpriced per call
01// what it is

What a curated data source is

A curated source is one the platform holds the upstream relationship for. We contract with the upstream providers and pay them; you pay in platform credits, per call, on the same balance every other source draws from. That is the whole difference from a connection, where you bring your own vendor credential and the vendor bills you.

Sources are addressed by a public slug, and the slug is the only identifier that appears anywhere: in the URL, in the MCP tool name, in your usage rows, in the pricing catalog. Which upstream provider backs a slug is an implementation detail we reserve the right to change without touching your code.

SlugSourceEndpointsBase path
agntLead APIs12/v1/data/agnt/*
facebookFacebook35/v1/data/facebook/*
instagramInstagram22/v1/data/instagram/*
linkedinLinkedIn52/v1/data/linkedin/*
redditReddit29/v1/data/reddit/*
seoSEO16/v1/data/seo/*
tiktokTikTok12/v1/data/tiktok/*
webWeb3/v1/data/web/*
xX (Twitter)52/v1/data/x/*
youtubeYouTube24/v1/data/youtube/*
02// making a call

Making a call

Every method is forwarded. /v1/data/:source/* passes the HTTP verb, the query string (including repeated parameters, which arrive upstream as a repeated key) and the JSON body straight through to the operation the path resolves to.

Authenticate with Authorization: Bearer <key>. Mint a key in the dashboard at app.superagnt.com.

restbash
curl "https://api.superagnt.com/v1/data/<source>/<endpoint>?limit=25" \
  -H "Authorization: Bearer $AGNTDATA_API_KEY"

bad requests are free

The request is validated against the source's bundled OpenAPI spec before any upstream call. A request that does not match comes back as VALIDATION_ERROR with HTTP 400 and a details array naming each offending field, and nothing is charged.
03// what you pay

What you pay

Every successful response carries its own price. meta.costCents is the amount actually charged for that call, after any discount on your account, and the two remaining balances sit beside it. You never need a second round trip to find out what a call cost or what is left.

response envelope (figures illustrative)json
{
  "success": true,
  "data": { "...": "the upstream payload, normalized" },
  "meta": {
    "costCents": 1,
    "purchasedBalanceCents": 4820,
    "subscriptionRemainingCents": 1500,
    "cached": false,
    "latencyMs": 412
  }
}

Pricing is set per slug, with optional per-endpoint overrides where one operation is materially more expensive than the rest of its source. Some sources are variable-cost by nature: the web and seo sources price a call by what the request actually did, so the platform bills the real upstream-reported cost rather than the pre-call estimate. The estimate is only the balance gate.

Failed calls cost nothing. A 4xx, a 5xx, an upstream timeout, and an upstream that returns HTTP 200 with a failure body inside it are all billed at zero and logged as errors.

do not hardcode prices

Prices move. Read them from GET /v1/platforms (unauthenticated) or GET /v1/platforms/:slug for per-endpoint figures, or browse them in the API reference. Copying a number into your own docs or UI is how a stale price ends up in front of a customer.
04// pagination

Pagination

Curated sources keep each upstream's own pagination convention. Most commonly that is a dedicated continuation operation: you call the list endpoint, take the continuation token out of the response, and feed it to the matching …_continuation operation. Others page by number or by offset.

There is no single platform-wide cursor on this surface, so check the endpoint you are calling in the reference rather than assuming. Cursors on this platform exist only on the two webhook delivery lists; the workspace database and /v1/usage use limit and offset.

05// from an agent

From an agent

Over MCP the same operations appear as tools named data_<slug>_<operationId>, for example data_reddit_search_posts. Same validation, same pricing, same credit balance as REST.

connect the mcp serverbash
claude mcp add --scope user --transport http superagnt https://mcp.superagnt.com/mcp
claude mcp login superagnt

Curated sources are opt-in, so a fresh server does not list hundreds of tools you did not ask for. Find a source with agnt_tools_search, then turn it on with agnt_tools_enable and the family id data:<slug>, for example { "families": ["data:x"] }. The first-party agnt source is the exception: it is served on the base connection and needs no enable.

after enabling

The change saves immediately, but your client's own tool list may not refresh until you reconnect. That is expected, and it does not mean the enable failed. The success result spells out the refresh step for your specific client.
06// errors

Errors specific to this surface

CodeHTTPWhat it means
PROVIDER_NOT_FOUND404The slug in the path is not a data source. The response lists every valid slug, so you can correct it without leaving the error.
ENDPOINT_NOT_FOUND404The slug is real but no operation on it matches that method and path. Check the source hub in the reference.
PROVIDER_UNAVAILABLE503No upstream credential is configured for that source on our side. Nothing you can fix in your request; contact support if it persists.
VALIDATION_ERROR400The request did not match the source's spec. The details array names each field. Not charged.

Upstream calls time out at 30 seconds. Transient upstream failures are retried on your behalf before the error reaches you, and a retried call that succeeds is billed exactly once.

07// deprecated path

Migrating off the pre-/v1/data path

removed 2026-10-01

/v1/<slug>/* returns HTTP 410 ENDPOINT_MIGRATED with a Link header naming its successor. Change the base path from /v1/ to /v1/data/; your key and parameters are unchanged. The path stops answering entirely on 2026-10-01.
08// full reference

The full reference

Every source, every endpoint, parameter schemas, response shapes and per-call pricing live in the API reference, one page per endpoint.