Documentation Index
Fetch the complete documentation index at: https://docs.orthogonal.com/llms.txt
Use this file to discover all available pages before exploring further.
Execute any API endpoint through Orthogonal. This is the main endpoint for making API calls.
Request
API slug (e.g., “sixtyfour”, “fiber”). Get this from search results.
Endpoint path (e.g., “/enrich-lead”, “/find-email”). Get this from search results.
Request body for POST/PUT/PATCH endpoints. Can be an object or array depending on the endpoint.
Query string parameters as key-value pairs.
The HTTP method (GET, POST, etc.) is determined automatically based on the endpoint configuration.
Response
{
"success": true,
"priceCents": 10,
"data": {
// Response from the underlying API
},
"requestId": "run_1234567890_abc123"
}
Response Fields
| Field | Type | Description |
|---|
success | boolean | Whether the call succeeded |
priceCents | number | Cost in cents (100 = $1) |
data | object | Response from the API provider |
requestId | string | Unique request identifier |
Examples
Lead Enrichment (Apollo)
curl -X POST 'https://api.orthogonal.com/v1/run' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"api": "apollo",
"path": "/v1/people/match",
"body": {
"email": "ceo@stripe.com"
}
}'
AI Web Search (LinkUp)
curl -X POST 'https://api.orthogonal.com/v1/run' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"api": "linkup",
"path": "/v1/search",
"body": {
"q": "latest Series A funding rounds fintech 2026",
"depth": "standard"
}
}'
Web Scraping (Olostep)
curl -X POST 'https://api.orthogonal.com/v1/run' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"api": "olostep",
"path": "/v1/scrapes",
"body": {
"url_to_scrape": "https://stripe.com/about"
}
}'
Multi-API Workflow
Chain APIs for complete lead research:
# Step 1: Research company with AI search (LinkUp)
curl -X POST 'https://api.orthogonal.com/v1/run' \
-d '{"api": "linkup", "path": "/v1/search", "body": {"q": "Stripe company funding valuation 2026"}}'
# Step 2: Enrich the CEO (Apollo)
curl -X POST 'https://api.orthogonal.com/v1/run' \
-d '{"api": "apollo", "path": "/v1/people/match", "body": {"email": "ceo@stripe.com"}}'
# Step 3: Find more contacts at the company (Hunter)
curl -X POST 'https://api.orthogonal.com/v1/run' \
-d '{"api": "hunter", "path": "/domain-search", "body": {"domain": "stripe.com"}}'
Error Handling
Insufficient Credits (402)
{
"success": false,
"priceCents": 10,
"error": "Insufficient credits. Cost: $0.10, Available: $0.02"
}
API Not Found (404)
{
"success": false,
"error": "API not found: invalid-slug"
}
Error Codes
| Code | Description | Solution |
|---|
| 400 | Invalid request | Check api, path, and body format |
| 401 | Unauthorized | Check your API key |
| 402 | Insufficient credits | Add credits at dashboard |
| 404 | Not found | Check the api/path values |
| 5xx | Upstream error | Check the error message |