💰 TokenWatchWyrdWerkGitHubLinkedInX

TokenWatch API documentation

Public JSON endpoints for pricing catalogs and workload-aware recommendations

Public JSON API

All endpoints accept GET requests and return JSON with permissive CORS headers. List endpoints paginate with limit and offset; the limit is clamped to 1–500 and defaults to 100. A machine-readable OpenAPI 3.1 description is also available.

Recommendation mixes are assumed workload defaults, not claims about your traffic. Model picks include best quality, best value, and the cheapest model above an absolute quality floor; explanations label benchmark coverage, provider ranking, missing signals, and confidence. Provider ranking requires confirmed capability and context metadata and keeps unverified options separate.

For chat-assistant and creative-writing, /api/v1/recommend also returns preference separately from model picks: the Arena favorite, board, rating, eligible providers, and source metadata with linked dataset, rating date, attribution, and CC BY 4.0 license. Creative writing is preference-led; chat picks remain capability-ranked. The source metadata lets API consumers display the required attribution alongside Arena ratings.

Recommendation responses default to compact candidate groups (up to 10 rows each, with total counts) and full explanations on the three model picks. Provider results keep full explanations on the top three. Add detail=full to expand explanations for returned rows, or set limit=1..100 to change each group cap. Recommendation JSON is compact (no indentation); add pretty=1 for indented output.

Recommendation parameters

The recommendation endpoints power the open model finder. Unknown values return HTTP 400 naming the rejected parameter; an unknown model returns 404.

TokenWatch API endpoints
EndpointResponseQuery parametersSort values
/api/v1/API metadata and endpoint directory——
/api/v1/use-casesList workload recommendation presets and their assumed mixes, weights, requirements, and quality floors——
/api/v1/recommendRecommend models for a workload; chat and creative-writing also return an Arena preference favorite with source metadatause_case, priority, zdr, exclude_hq, include_proprietary, detail, limit, pretty—
/api/v1/recommend/providersRank providers for one model with full explanations for the top three and compact remaining rowsuse_case, model, priority, zdr, exclude_hq, include_proprietary, detail, limit, pretty—
/api/v1/modelsList text-generation model offeringsorg, provider, min_context, min_output, min_intelligence, quantization, open_weights, cache_read, cache_write, promo, zdr, sub, benchmarked, search, sort, order, limit, offsetid, input, output, cache_read, cache_write, context, max_output, uptime, discount, intelligence, coding, agentic
/api/v1/models/:canonicalId/providersList providers for one canonical model, ordered by costtokens, mix—
/api/v1/models/:canonicalId/historyDaily cheapest-provider price history, blended at read timedays, mix—
/api/v1/statsReturn catalog, provider, organization, privacy, cache, and quantization counts——
/api/v1/orgsList model organizations with offering counts——
/api/v1/providersList provider metadata and policy fieldszdr—
/api/v1/imagesList image-generation modelsorg, provider, search, sort, order, limit, offsetid, org, provider
/api/v1/images/:idReturn one image model with its pricing variants——
/api/v1/videosList video-generation modelsorg, provider, search, sort, order, limit, offsetid, org, provider
/api/v1/videos/:idReturn one video model with its pricing variants——

Examples

curl 'https://tokenwatch.wyrdwerk.com/api/v1/models?provider=aster&sort=input&limit=20'
curl 'https://tokenwatch.wyrdwerk.com/api/v1/models?open_weights=true&limit=20'
curl 'https://tokenwatch.wyrdwerk.com/api/v1/models/glm-5.2/providers?tokens=1000000&mix=30,50,20'
curl 'https://tokenwatch.wyrdwerk.com/api/v1/use-cases'
curl 'https://tokenwatch.wyrdwerk.com/api/v1/recommend?use_case=agentic-coding&priority=balanced&zdr=true&exclude_hq=CN&limit=5'
curl 'https://tokenwatch.wyrdwerk.com/api/v1/recommend/providers?use_case=agentic-coding&model=deepseek-v4-flash&priority=fastest&detail=full'
curl 'https://tokenwatch.wyrdwerk.com/api/v1/providers?zdr=true'
curl 'https://tokenwatch.wyrdwerk.com/api/v1/videos?provider=fal&limit=25'

Errors and freshness

Malformed model-ID encoding returns HTTP 400, unknown routes return 404, and unavailable catalog assets return 503. Every catalog response includes its source generation timestamp. Raw API and JSON files are marked noindex; this page is the crawlable reference.

Embeddable pricing cards

The widget demo shows the Shadow DOM pricing card. Add data-tw-model to an element and load https://tokenwatch.wyrdwerk.com/widget/embed.js.