> ## Documentation Index
> Fetch the complete documentation index at: https://clair.im/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Clair API quickstart

> Create a Clair API key and call api.clair.im. Every Clair API uses the same Bearer token.

Every Clair API uses one host and one key. Create the key
in the [dashboard](https://clair.im/dashboard/api-keys) and send it as
`Authorization: Bearer YOUR_KEY`. Paid plans are per API. Full header and
error reference: [Authentication](/docs/authentication).

## 1. Get a key

1. Open [clair.im/dashboard](https://clair.im/dashboard) and create an account.
2. Open the API you want and start its **free tier**: 200 requests a month, no card. Each API needs its own subscription.
3. Create a key under **API keys** and copy it once.

| API | Paths | Requests |
| - | - | - |
| [Google Search](https://clair.im/apis/google-search) | `GET /v1/google-search` | 1 / page |
| [Google Maps](https://clair.im/apis/google-maps) | `GET /v1/google-maps/search` and `/v1/google-maps/place` | 1 / page |
| [Google News](https://clair.im/apis/google-news) | `GET /v1/google-news` | 1 / page |
| [Reuters](https://clair.im/apis/reuters-news) | `GET /v1/reuters/search` and `/v1/reuters/article` | 1 / page |
| [Bloomberg](https://clair.im/apis/bloomberg-news) | `GET /v1/bloomberg/search` and `/v1/bloomberg/article` | 1 / page |
| [Associated Press](https://clair.im/apis/ap-news) | `GET /v1/ap/search` and `/v1/ap/article` | 1 / page |
| [Glassdoor](https://clair.im/apis/glassdoor) | `GET /v1/glassdoor/jobs`, `/v1/glassdoor/job`, `/v1/glassdoor/companies`, `/v1/glassdoor/company`, `/v1/glassdoor/salaries` | 1 / page |
| [Indeed](https://clair.im/apis/indeed) | `GET /v1/indeed/jobs` and `/v1/indeed/job` | 1 / page |
| [Greenhouse](https://clair.im/apis/greenhouse) | `GET /v1/greenhouse/jobs` and `/v1/greenhouse/job` | 1 / page |
| [Amazon](https://clair.im/apis/amazon) | `GET /v1/amazon/search`, `/v1/amazon/product`, `/v1/amazon/reviews`, `/v1/amazon/offers`, `/v1/amazon/lookup`, `/v1/amazon/seller`, `/v1/amazon/seller-products`, `/v1/amazon/bestsellers`, `/v1/amazon/categories` | 1 / page |
| [Crunchbase](https://clair.im/apis/crunchbase) | `GET /v1/crunchbase/organization` and `/v1/crunchbase/person` | 1 / page |
| [Website Contacts](https://clair.im/apis/contacts) | `GET /v1/contacts` | 1 / page |
| [Trustpilot Reviews](https://clair.im/apis/trustpilot) | `GET /v1/trustpilot/reviews`, `/v1/trustpilot/search`, `/v1/trustpilot/categories`, `/v1/trustpilot/review` | 1 / page |
| [Product Hunt](https://clair.im/apis/producthunt) | `GET /v1/producthunt/launches` and `GET /v1/producthunt/product` | 1 / page |

Publisher article scrapes (Reuters, Bloomberg, Associated Press) are in the [API catalog](https://clair.im/apis).

## 2. Make your first call

<Tabs>
  <Tab title="Google Search">
    Live organic Google Search, 10 hits per page:

    ```sh cURL theme={null}
    curl -G https://api.clair.im/v1/google-search \
      -H "Authorization: Bearer YOUR_KEY" \
      --data-urlencode "q=inflation" \
      --data-urlencode "country=us" \
      --data-urlencode "page=1"
    ```

    <Card title="Google Search API" icon="arrow-right" href="/https/clair.im/docs/search-api/google-search">
      Organic hits, `page` pagination, language, and country.
    </Card>
  </Tab>

  <Tab title="Contacts">
    Public emails, phones, and social URLs from a company domain:

    ```sh cURL theme={null}
    curl -G https://api.clair.im/v1/contacts \
      -H "Authorization: Bearer YOUR_KEY" \
      --data-urlencode "domain=stripe.com"
    ```

    <Card title="Website Contacts API" icon="arrow-right" href="/https/clair.im/docs/contacts-api/website-contacts">
      Homepage plus linked same-origin pages. Default five pages. One request.
    </Card>
  </Tab>
</Tabs>

## 3. Read the errors

Mounted endpoints return a stable machine-readable code you can branch on and
human detail you should not parse. Typical envelope:

```json theme={null}
{ "error": "bad_request", "detail": "q is required" }
```

`401` means the bearer token is missing or invalid. `403` with `not_subscribed`
means the account has no subscription to that API yet. `429` with
`quota_exceeded` means the API's requests for the period are used up;
`rate_limit_exceeded` means the account rate limit was hit, so wait
`Retry-After` seconds.

<Note>
  Every call is one request, whichever API it goes to. Each `page` is its own
  request. A call that fails with a `5xx` is not charged.
</Note>


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