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,
"price": "0.10",
"priceCents": 10000,
"data": {
// Response from the underlying API
},
"requestId": "run_1234567890_abc123",
"paymentMethod": "credits"
}
Response Fields
| Field | Type | Description |
|---|
success | boolean | Whether the call succeeded |
price | string | Cost in dollars (as string) |
priceCents | number | Cost in internal units (100,000 = $1) |
data | object | Response from the API provider |
requestId | string | Unique request identifier |
paymentMethod | string | Always “credits” for Run API |
Examples
Lead Enrichment (Apollo)
curl -X POST 'https://api.orth.sh/v1/run' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"api": "apollo",
"path": "/v1/people/match",
"body": {
"email": "[email protected]"
}
}'
AI Web Search (LinkUp)
curl -X POST 'https://api.orth.sh/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.orth.sh/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.orth.sh/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.orth.sh/v1/run' \
-d '{"api": "apollo", "path": "/v1/people/match", "body": {"email": "[email protected]"}}'
# Step 3: Find more contacts at the company (Hunter)
curl -X POST 'https://api.orth.sh/v1/run' \
-d '{"api": "hunter", "path": "/domain-search", "body": {"domain": "stripe.com"}}'
Error Handling
Insufficient Credits (402)
{
"success": false,
"price": "0.10",
"error": "Insufficient credits. Cost: $0.10, Available: $0.02"
}
API Not Found (404)
{
"success": false,
"price": "0",
"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 |