Connect
Pick one way to connect. All reach the same catalog.- MCP Server
- CLI
- API
Add the Orthogonal connector to Claude, Cursor, or any MCP client, then authorize with your account:Once connected, ask your assistant:
{
"mcpServers": {
"orthogonal": {
"url": "https://mcp.orthogonal.com"
}
}
}
“Search Orthogonal for APIs that enrich a lead by email, then run one.”
Full MCP setup
Per-client steps, tool reference, and troubleshooting
Install the CLI and set your key:Search for an API and call it:
npm install -g @orth/cli
export ORTHOGONAL_API_KEY=orth_live_your_key
orth search "enrich lead find email"
orth run sixtyfour /enrich-lead --body '{
"lead_info": {
"first_name": "Patrick",
"last_name": "Collison",
"company_domain": "stripe.com"
}
}'
CLI reference
All commands, flags, and examples
1. Search for an APIYou’ll get back matching APIs with their endpoints and pricing.2. Call the APIThe response includes the result plus what it cost:
curl -X POST 'https://api.orthogonal.com/v1/search' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"prompt": "enrich lead find email", "limit": 5}'
const response = await fetch('https://api.orthogonal.com/v1/search', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ prompt: 'enrich lead find email', limit: 5 })
});
const { results } = await response.json();
console.log(results);
import requests
response = requests.post(
'https://api.orthogonal.com/v1/search',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={'prompt': 'enrich lead find email', 'limit': 5}
)
print(response.json()['results'])
curl -X POST 'https://api.orthogonal.com/v1/run' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"api": "sixtyfour",
"path": "/enrich-lead",
"body": {
"lead_info": {
"first_name": "Patrick",
"last_name": "Collison",
"company_domain": "stripe.com"
}
}
}'
const response = await fetch('https://api.orthogonal.com/v1/run', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
api: 'sixtyfour',
path: '/enrich-lead',
body: { lead_info: { first_name: 'Patrick', last_name: 'Collison', company_domain: 'stripe.com' } }
})
});
const { data, price } = await response.json();
console.log(`Cost: $${price}`);
console.log(data);
import requests
response = requests.post(
'https://api.orthogonal.com/v1/run',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={
'api': 'sixtyfour',
'path': '/enrich-lead',
'body': {'lead_info': {'first_name': 'Patrick', 'last_name': 'Collison', 'company_domain': 'stripe.com'}}
}
)
result = response.json()
print(f"Cost: ${result['price']}")
print(result['data'])
{
"success": true,
"price": "0.10",
"data": {
"lead": {
"name": "Patrick Collison",
"title": "CEO",
"company": "Stripe",
"email": "patrick@stripe.com",
"linkedin_url": "linkedin.com/in/patrickcollison"
}
}
}
API reference
Every endpoint, parameter, and response
Next steps
Browse the catalog
Every available API and its price.
Examples
Chain multiple APIs into one workflow.
