Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/exchangerebel-com:exchangerebel-com-apidiff-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ExchangeRebel — pay-per-call APIs for AI agents (x402 on…
version: 1.0.0
contact:
name: 'ExchangeRebel (operator: Rebel Data)'
url: https://exchangerebel.com
email: sound.money.investing@gmail.com
x-guidance: 'All paid operations use x402 on Solana: call without payment to get a 402 challenge (SOL recipient + USDC token account + fresh memo), pay with the memo attached via the Solana Memo program, then retry with header X-Payment-Tx: <signature> and ?toll_memo=<memo>. Challenges are dual-version: the PAYMENT-REQUIRED header carries the x402 v2 PaymentRequired object and the response body carries the same challenge in x402 v1 form for compatibility. Free operations (security: []) include each service''s /health catalog with full response shapes. Prices in x-payment-info are USD per call unless the summary says otherwise (RPC is per 1,000-request block; Telegram provisioning is per bot-month; transcription is per minute of audio).'
description: '67 data and utility APIs behind x402 tolls, settled in SOL or USDC on Solana. Call a paid endpoint without payment to receive a 402 x402 challenge (recipient + fresh memo), pay with the memo attached via the Solana Memo program, then retry with the X-Payment-Tx header and toll_memo query parameter. Free catalog/health endpoints are marked without x-payment-info. Full catalogs: GET /toll/discovery and each service''s /health.'
servers:
- url: https://exchangerebel.com
tags:
- name: Apidiff
paths:
/toll/apidiff:
get:
tags:
- Apidiff
summary: Breaking-Change Diff service catalog
responses:
'200':
description: 'Success. Returns the service catalog: what a breaking-change diff includes, the price ($0.02 per document pair), the published criteria, the pinned test corpus, and the scope statement (a deterministic mechanical comparison of the two documents you submitted, under breaking-change-diff/v1; it does not establish that an upgrade will break, or will not break, any code).'
security: []
operationId: getTollApidiff
x-operation-id-source: derived
/toll/apidiff/health:
get:
tags:
- Apidiff
summary: Breaking-Change Diff service health
responses:
'200':
description: Success. Returns service liveness and the report signer address.
security: []
operationId: getTollApidiffHealth
x-operation-id-source: derived
/toll/apidiff/criteria:
get:
tags:
- Apidiff
summary: The published breaking-change diff criteria
responses:
'200':
description: 'Success. Returns the full published criteria (breaking-change-diff/v1): the five parsing rules, the seventeen diff rules with their outcome tokens, the NOT-ASSESSABLE list, the scope block, the kill line, and the pinned public test corpus identity; every report is reproducible from them.'
security: []
operationId: getTollApidiffCriteria
x-operation-id-source: derived
/toll/apidiff/corpus:
get:
tags:
- Apidiff
summary: The pinned public test corpus identity
responses:
'200':
description: 'Success. Returns the public test corpus identity for breaking-change-diff/v1: corpus id breaking-change-diff-corpus/v1 and its SHA-256 pin 3e6c99e06566bc1135e4c8edf01663ae98474036fa045117113516a680e07b18 (the SHA-256 of the corpus''s canonical serialization, verifiable with the published harness). The corpus is buyer-runnable before paying.'
security: []
operationId: getTollApidiffCorpus
x-operation-id-source: derived
/toll/apidiff/precheck:
post:
tags:
- Apidiff
summary: Free headline breaking-change pre-check of one submitted document pair
requestBody:
content:
application/json:
schema:
type: object
properties:
caller:
type: string
description: Solana base58 wallet of the operator; keys the free allowance (100/day per wallet).
version_a:
description: 'Version A of the API-surface document: an OpenAPI 3.0.x/3.1.x document in JSON form, or a standalone JSON Schema document (draft-07, 2019-09, or 2020-12). Submitted content is processed in memory only and never stored.'
version_b:
description: Version B of the same API-surface document, in the same form as version A. Submitted content is processed in memory only and never stored.
pairs:
description: 'Alternative multi-pair form: an array of {version_a, version_b} pairs; each pair is charged at $0.02 on the paid endpoint. Mutually exclusive in effect with the single-pair version_a/version_b fields.'
required:
- caller
responses:
'200':
description: 'Success. Returns the headline only: whether the pair can be graded, the document census, the verdict line, per-token counts, the NOT-ASSESSABLE list in full, and the scope block. No located findings. When the caller''s free allowance is exhausted, the response is the /toll/apidiff/diff payment challenge instead.'
security: []
operationId: postTollApidiffPrecheck
x-operation-id-source: derived
/toll/apidiff/diff:
post:
tags:
- Apidiff
summary: Full signed breaking-change diff report for one submitted document pair
requestBody:
content:
application/json:
schema:
type: object
properties:
version_a:
description: 'Version A of the API-surface document: an OpenAPI 3.0.x/3.1.x document in JSON form, or a standalone JSON Schema document (draft-07, 2019-09, or 2020-12). Submitted content is processed in memory only and never stored.'
version_b:
description: Version B of the same API-surface document, in the same form as version A. Submitted content is processed in memory only and never stored.
pairs:
description: 'Alternative multi-pair form: an array of {version_a, version_b} pairs; each pair is charged at $0.02 on the paid endpoint. Mutually exclusive in effect with the single-pair version_a/version_b fields.'
responses:
'200':
description: 'Success. Returns the full signed report: counts per published token and located findings for every element the rules of breaking-change-diff/v1 record as removed, added, or changed between the two documents you submitted, each item stated as it appears in the documents, with the scope block printed twice. Submitted documents are processed in memory only and are never stored.'
'402':
description: 'Payment Required (x402). A per-item fee: $0.02 per document pair — each pair you submit is charged at $0.02; the payment includes one pair of submitted documents compared mechanically under the published rules of breaking-change-diff/v1, returned as one signed report listing every element the rules record as removed, added, or changed between the two versions you submitted. The response body carries the payment instructions in x402 v1 form: payTo (the operator''s Solana wallet), the amount (20000 USDC units = $0.02 per pair) and a fresh memo. Pay in USDC on Solana with the memo attached via the Solana Memo program, then resubmit the same diff request with the payment transaction in the X-Payment-Tx header and ?toll_memo=<memo>, re-sending both documents in the request body. The PAYMENT-REQUIRED response header carries the same object in x402 v2 form.'
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '0.02'
security:
- x402Payment: []
operationId: postTollApidiffDiff
x-operation-id-source: derived
/toll/apidiff/metrics:
get:
tags:
- Apidiff
summary: Breaking-Change Diff aggregate counters
responses:
'200':
description: Success. Returns aggregate counters (paid diffs, distinct payers, free pre-checks today). Aggregate only — no payer identities, no submitted document content.
security: []
operationId: getTollApidiffMetrics
x-operation-id-source: derived
components:
securitySchemes:
x402Payment:
type: apiKey
in: header
name: X-Payment-Tx
description: 'x402 toll payment proof: the Solana transaction signature of a payment carrying the memo from the 402 challenge; send together with ?toll_memo=<memo>. Payment itself is made on-chain in SOL or USDC to the recipient named in the challenge.'