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

> Connect your agent in two minutes

## Connect

Pick one way to connect. All reach the same catalog.

<Tabs>
  <Tab title="MCP Server">
    Add the Orthogonal connector to Claude, Cursor, or any MCP client, then authorize with your account:

    ```json theme={null}
    {
      "mcpServers": {
        "orthogonal": {
          "url": "https://mcp.orthogonal.com"
        }
      }
    }
    ```

    Once connected, ask your assistant:

    > "Search Orthogonal for APIs that enrich a lead by email, then run one."

    <Card title="Full MCP setup" icon="plug" href="/mcp/setup">
      Per-client steps, tool reference, and troubleshooting
    </Card>
  </Tab>

  <Tab title="CLI">
    Install the CLI and set your key:

    ```bash theme={null}
    npm install -g @orth/cli
    export ORTHOGONAL_API_KEY=orth_live_your_key
    ```

    Search for an API and call it:

    ```bash theme={null}
    orth search "enrich lead find email"
    orth run sixtyfour /enrich-lead --body '{
      "lead_info": {
        "first_name": "Patrick",
        "last_name": "Collison",
        "company_domain": "stripe.com"
      }
    }'
    ```

    <Card title="CLI reference" icon="terminal" href="/cli">
      All commands, flags, and examples
    </Card>
  </Tab>

  <Tab title="API">
    **1. Search for an API**

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

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

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

    **2. Call the API**

    <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 result plus what it 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"
        }
      }
    }
    ```

    <Card title="API reference" icon="code" href="/api-reference/introduction">
      Every endpoint, parameter, and response
    </Card>
  </Tab>
</Tabs>

## Next steps

<Columns cols={2}>
  <Card title="Browse the catalog" icon="magnifying-glass" href="https://orthogonal.com/discover">
    Every available API and its price.
  </Card>

  <Card title="Examples" icon="code" href="/use-cases">
    Chain multiple APIs into one workflow.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.