Skip to main content
POST
/
v1
/
search
Search
curl --request POST \
  --url https://api.example.com/v1/search \
  --header 'Content-Type: application/json' \
  --data '
{
  "prompt": "<string>",
  "limit": 123
}
'
Search for APIs by describing what you need. Uses semantic search to find the most relevant endpoints.

Request

prompt
string
required
Natural language description of what you’re looking for.Examples:
  • “enrich lead with contact info”
  • “find email for a person”
  • “company enrichment from domain”
limit
number
default:"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://api.orth.sh/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": "/domain-search",
          "method": "POST",
          "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)
countTotal number of endpoints returned

Example

curl -X POST 'https://api.orth.sh/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.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]"}
  }'