Skip to main content
POST
/
v1
/
run
Run
curl --request POST \
  --url https://api.example.com/v1/run \
  --header 'Content-Type: application/json' \
  --data '
{
  "api": "<string>",
  "path": "<string>",
  "body": {},
  "query": {}
}
'
Execute any API endpoint through Orthogonal. This is the main endpoint for making API calls.

Request

api
string
required
API slug (e.g., “sixtyfour”, “fiber”). Get this from search results.
path
string
required
Endpoint path (e.g., “/enrich-lead”, “/find-email”). Get this from search results.
body
object
Request body for POST/PUT/PATCH endpoints. Can be an object or array depending on the endpoint.
query
object
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

FieldTypeDescription
successbooleanWhether the call succeeded
pricestringCost in dollars (as string)
priceCentsnumberCost in internal units (100,000 = $1)
dataobjectResponse from the API provider
requestIdstringUnique request identifier
paymentMethodstringAlways “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

CodeDescriptionSolution
400Invalid requestCheck api, path, and body format
401UnauthorizedCheck your API key
402Insufficient creditsAdd credits at dashboard
404Not foundCheck the api/path values
5xxUpstream errorCheck the error message