Work with this as data
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/scope3-mcp-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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 Specification
openapi: 3.2.0
info:
title: Scope3 MCP API
version: 2.0.0
description: 'Operations tagged MCP across 2 of this provider''s published API definitions: scope3-buyer-openapi-original.yml, scope3-storefront-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.interchange.io/api/v2/buyer
description: Production server
- url: https://api.interchange.io/api/v2/storefront
description: Production server
tags:
- name: MCP
description: Model Context Protocol endpoints for AI agents
paths:
/:
servers:
- url: https://api.interchange.io/mcp/v2/buyer
description: Production MCP server
post:
operationId: mcpInitialize
summary: Initialize MCP session
description: 'Start a new MCP (Model Context Protocol) session. This must be called before using any other MCP tools.
## Request Format
Send a JSON-RPC 2.0 request with:
- `method`: "initialize"
- `params.protocolVersion`: "2024-11-05"
- `params.capabilities`: {} (empty object)
- `params.clientInfo`: Your agent info
## Example Request
```json
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": { "name": "your-agent", "version": "1.0" }
}
}
```
## Example Response
```json
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2024-11-05",
"capabilities": { "tools": {} },
"serverInfo": { "name": "scope3-buyer-api", "version": "2.0.0" }
}
}
```'
tags:
- MCP
parameters:
- name: mcp-session-id
in: header
required: true
schema:
type: string
format: uuid
description: MCP session identifier. Generate a new UUID for this request.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/McpInitializeRequest'
example:
jsonrpc: '2.0'
id: 1
method: initialize
params:
protocolVersion: '2024-11-05'
capabilities: {}
clientInfo:
name: your-agent
version: '1.0'
responses:
'200':
description: Session initialized successfully
content:
application/json:
schema:
$ref: '#/components/schemas/McpInitializeResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
/api-call:
servers:
- url: https://api.interchange.io/mcp/v2/buyer
description: Production MCP server
post:
operationId: mcpApiCall
summary: Make API call via MCP
description: 'Make REST API calls to any Buyer API endpoint through MCP.
## Parameters
- `method`: HTTP method (GET, POST, PUT, DELETE)
- `path`: API path (e.g., "/advertisers", "/campaigns/{id}")
- `body`: Request body for POST/PUT requests (optional)
- `query`: Query parameters (optional)
## Example: List Advertisers
```json
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "api_call",
"arguments": {
"method": "GET",
"path": "/advertisers",
"query": { "take": 10 }
}
}
}
```
## Example Response
```json
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "text",
"text": "{ \"advertisers\": [...], \"total\": 5 }"
}
]
}
}
```'
tags:
- MCP
parameters:
- name: mcp-session-id
in: header
required: true
schema:
type: string
format: uuid
description: MCP session identifier from the initialize call.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/McpApiCallRequest'
example:
jsonrpc: '2.0'
id: 2
method: tools/call
params:
name: api_call
arguments:
method: GET
path: /advertisers
query:
take: 10
responses:
'200':
description: API call executed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/McpToolResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
/ask-about-capability:
servers:
- url: https://api.interchange.io/mcp/v2/buyer
description: Production MCP server
post:
operationId: mcpAskAboutCapability
summary: Ask about API capabilities
description: 'Learn about Buyer API features and capabilities using natural language questions.
This tool helps AI agents understand what the API can do without needing to read documentation.
## Parameters
- `question`: A natural language question about API capabilities
## Example Questions
- "How do I create a campaign?"
- "What can I configure on a campaign?"
- "What authentication is required?"
## Example Request
```json
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "ask_about_capability",
"arguments": {
"question": "How do I create a campaign?"
}
}
}
```
## Example Response
```json
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"content": [
{
"type": "text",
"text": "To create a campaign, use POST /campaigns with..."
}
]
}
}
```'
tags:
- MCP
parameters:
- name: mcp-session-id
in: header
required: true
schema:
type: string
format: uuid
description: MCP session identifier from the initialize call.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/McpAskCapabilityRequest'
example:
jsonrpc: '2.0'
id: 4
method: tools/call
params:
name: ask_about_capability
arguments:
question: How do I create a campaign?
responses:
'200':
description: Capability information returned
content:
application/json:
schema:
$ref: '#/components/schemas/McpToolResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
components:
schemas:
McpInitializeRequest:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
description: JSON-RPC version
id:
oneOf:
- type: string
- type: number
description: Request ID
method:
type: string
enum:
- initialize
description: Method name
params:
type: object
properties:
protocolVersion:
type: string
description: MCP protocol version
example: '2024-11-05'
capabilities:
type: object
description: Client capabilities
clientInfo:
type: object
properties:
name:
type: string
description: Client name
version:
type: string
description: Client version
required:
- name
- version
required:
- protocolVersion
- capabilities
- clientInfo
required:
- jsonrpc
- id
- method
- params
McpInitializeResponse:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
oneOf:
- type: string
- type: number
result:
type: object
properties:
protocolVersion:
type: string
capabilities:
type: object
serverInfo:
type: object
properties:
name:
type: string
version:
type: string
McpToolResponse:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
oneOf:
- type: string
- type: number
result:
type: object
properties:
content:
type: array
items:
type: object
properties:
type:
type: string
enum:
- text
text:
type: string
description: Response content
McpAskCapabilityRequest:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
description: JSON-RPC version
id:
oneOf:
- type: string
- type: number
description: Request ID
method:
type: string
enum:
- tools/call
description: Method name
params:
type: object
properties:
name:
type: string
enum:
- ask_about_capability
description: Tool name
arguments:
type: object
properties:
question:
type: string
description: Natural language question about API capabilities
required:
- question
required:
- name
- arguments
required:
- jsonrpc
- id
- method
- params
McpApiCallRequest:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
description: JSON-RPC version
id:
oneOf:
- type: string
- type: number
description: Request ID
method:
type: string
enum:
- tools/call
description: Method name
params:
type: object
properties:
name:
type: string
enum:
- api_call
description: Tool name
arguments:
type: object
properties:
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
description: HTTP method
path:
type: string
description: API path (e.g., "/advertisers")
body:
type: object
description: Request body for POST/PUT
query:
type: object
description: Query parameters
required:
- method
- path
required:
- name
- arguments
required:
- jsonrpc
- id
- method
- params
McpApiCallRequest_2:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
description: JSON-RPC version
id:
oneOf:
- type: string
- type: number
description: Request ID
method:
type: string
enum:
- tools/call
description: Method name
params:
type: object
properties:
name:
type: string
enum:
- api_call
description: Tool name
arguments:
type: object
properties:
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
description: HTTP method
path:
type: string
description: API path (e.g., "/inventory-sources")
body:
type: object
description: Request body for POST/PUT
query:
type: object
description: Query parameters
required:
- method
- path
required:
- name
- arguments
required:
- jsonrpc
- id
- method
- params
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key or access token
x-refined-from:
- scope3-buyer-openapi-original.yml
- scope3-storefront-openapi-original.yml