> ## 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.

# Quickstart

> Get your API key and make your first call in 2 minutes

## 1. Get Your API Key

<Steps>
  <Step title="Sign up">
    Go to [orthogonal.com](https://orthogonal.com) and create an account.
  </Step>

  <Step title="Get your key">
    Navigate to [Dashboard → API Keys](https://orthogonal.com/dashboard/settings/api-keys) and copy your API key.
  </Step>
</Steps>

Your API key looks like: `orth_live_xxxxxxxxxxxx`

## 2. Search for an API

Let's find APIs to build a lead enrichment workflow:

<CodeGroup>
  ```bash cURL theme={null}
  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}'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.orthogonal.com/v1/search', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      prompt: 'enrich lead find email',
      limit: 5
    })
  });

  const { results } = await response.json();
  console.log(results);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://api.orthogonal.com/v1/search',
      headers={'Authorization': 'Bearer YOUR_API_KEY'},
      json={'prompt': 'enrich lead find email', 'limit': 5}
  )

  results = response.json()['results']
  print(results)
  ```
</CodeGroup>

You'll get back a list of matching APIs with their endpoints and pricing.

## 3. Call the API

Use the Run API to enrich a lead:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST 'https://api.orthogonal.com/v1/run' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -H 'Content-Type: application/json' \
    -d '{
      "api": "sixtyfour",
      "path": "/enrich-lead",
      "body": {
        "lead_info": {
          "first_name": "Patrick",
          "last_name": "Collison",
          "company_domain": "stripe.com"
        }
      }
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.orthogonal.com/v1/run', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      api: 'sixtyfour',
      path: '/enrich-lead',
      body: {
        lead_info: {
          first_name: 'Patrick',
          last_name: 'Collison',
          company_domain: 'stripe.com'
        }
      }
    })
  });

  const { data, price } = await response.json();
  console.log(`Cost: $${price}`);
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://api.orthogonal.com/v1/run',
      headers={'Authorization': 'Bearer YOUR_API_KEY'},
      json={
          'api': 'sixtyfour',
          'path': '/enrich-lead',
          'body': {
              'lead_info': {
                  'first_name': 'Patrick',
                  'last_name': 'Collison',
                  'company_domain': 'stripe.com'
              }
          }
      }
  )

  result = response.json()
  print(f"Cost: ${result['price']}")
  print(result['data'])
  ```
</CodeGroup>

The response includes the API result plus the cost:

```json theme={null}
{
  "success": true,
  "price": "0.10",
  "data": {
    "lead": {
      "name": "Patrick Collison",
      "title": "CEO",
      "company": "Stripe",
      "email": "patrick@stripe.com",
      "linkedin_url": "linkedin.com/in/patrickcollison"
    }
  }
}
```

## 4. Chain Multiple APIs

Build complete workflows by chaining APIs:

```bash theme={null}
# Find email → Get phone number
# Step 1: Find email
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"api": "sixtyfour", "path": "/find-email", "body": {"lead_info": {"first_name": "Patrick", "last_name": "Collison", "company_domain": "stripe.com"}}}'

# Step 2: Get phone using that email
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"api": "sixtyfour", "path": "/find-phone", "body": {"lead_info": {"email": "patrick@stripe.com"}}}'
```

## Next Steps

<Columns cols={2}>
  <Card title="Explore APIs" icon="magnifying-glass" href="https://orthogonal.com/discover">
    Browse the full catalog of available APIs.
  </Card>

  <Card title="MCP Server" icon="plug" href="/mcp/overview">
    Add Orthogonal to Claude or Cursor for AI-powered API discovery.
  </Card>
</Columns>
