Browse documentation

Discovery API

Search

Find APIs using natural language

POST
https://www.orthogonal.com/v1/search

Search for APIs by describing what you need. Uses semantic search to find the most relevant endpoints.

Request

promptstringrequired

Natural language description of what you’re looking for.

Examples:

  • “enrich lead with contact info”
  • “find email for a person”
  • “company enrichment from domain”
limitnumberdefault: 10
Maximum number of results to return. Max: 50

Response

Results are grouped by API, with each API containing its matching endpoints:

{
"success": true,
"results": [
{
"id": "api-uuid",
"name": "Apollo.io",
"slug": "apollo",
"baseUrl": "https://api.apollo.io",
"payableBaseUrl": "https://www.orthogonal.com/pay/apollo",
"endpoints": [
{
"id": "endpoint-uuid",
"path": "/v1/people/match",
"method": "POST",
"description": "Enrich a person by email, name, or LinkedIn URL",
"price": "0.03",
"isPayable": true,
"verified": true,
"score": 0.95
},
{
"path": "/v1/organizations/enrich",
"method": "POST",
"description": "Enrich a company by domain",
"price": "0.03",
"verified": true,
"score": 0.90
}
]
},
{
"id": "api-uuid-2",
"name": "Hunter.io",
"slug": "hunter",
"endpoints": [
{
"path": "/v2/domain-search",
"method": "GET",
"description": "Find email addresses for a company domain",
"price": "0.01",
"verified": true,
"score": 0.85
}
]
}
],
"count": 3,
"apisCount": 2,
"prompt": "enrich lead with contact info",
"searchType": "semantic",
"responseTime": 145
}

Response Fields

FieldDescription
resultsArray of APIs, each containing matching endpoints
results[].slugAPI identifier to use with /v1/run
results[].endpoints[].pathEndpoint path to use with /v1/run
results[].endpoints[].verifiedWhether the API is verified by Orthogonal
results[].endpoints[].scoreRelevance score (0-1, higher is better)
results[].kindintegration for an OAuth app (Gmail, Slack, …), ranked among the APIs: each endpoint is one of its actions, run with /v1/run on your own connected account at no per-call cost
countTotal number of endpoints returned

Example

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
}'

Using Search Results

The slug and path from search results can be used directly with the Run API:

# From search: slug="apollo", path="/v1/people/match"
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"}
}'