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

# Introduction

> What the Radarkit API gives you and how to make your first call.

Radarkit tracks how AI assistants answer the questions your customers ask. For every answer it records whether your brand came up, where, in what tone, which websites the answer relied on and which competitors it named. This API gives you that data as JSON.

## What you can get

| You want to                                                 | Call                                                                |
| ----------------------------------------------------------- | ------------------------------------------------------------------- |
| See how visible your brand is, day by day                   | [Get visibility](/docs/api-reference/visibility/get-visibility)          |
| Read the answers AI models gave, with what we found in them | [List responses](/docs/api-reference/responses/list-responses)           |
| Know which websites AI answers rely on                      | [Top source domains](/docs/api-reference/sources/top-source-domains)     |
| Compare your brand with competitors                         | [Get share of voice](/docs/api-reference/competitors/get-share-of-voice) |
| See what the model searched for behind the scenes           | [List query fanout](/docs/api-reference/query-fanout/list-query-fanout)  |
| Pull thousands of rows into a file                          | [Create export](/docs/api-reference/exports/create-export)               |
| Add prompts, or ask a prompt again right now                | [Add prompts](/docs/api-reference/prompts/add-prompts)                   |
| Have the Content agent write an article                     | [Create article](/docs/api-reference/content/create-article)             |

## Base URL

```text theme={"system"}
https://api.radarkit.ai/v1
```

## Quick start

<Steps>
  <Step title="Create an API key">
    <a className="rk-button rk-button--secondary" href="https://radarkit.ai/settings/api/keys" target="_blank" rel="noopener">Open API keys</a>

    Click Create an API key, then copy the key. It is shown once.
  </Step>

  <Step title="Check the key">
    Send it as a Bearer token. This call is free and tells you what the key can do.

    <CodeGroup>
      ```bash curl theme={"system"}
      curl https://api.radarkit.ai/v1/me \
        -H "Authorization: Bearer rk_live_YOUR_KEY"
      ```

      ```python Python theme={"system"}
      import requests

      response = requests.get(
          "https://api.radarkit.ai/v1/me",
          headers={"Authorization": "Bearer rk_live_YOUR_KEY"},
      )
      print(response.json()["data"]["credits"])
      ```

      ```javascript JavaScript theme={"system"}
      const response = await fetch("https://api.radarkit.ai/v1/me", {
        headers: { Authorization: "Bearer rk_live_YOUR_KEY" },
      });
      const { data } = await response.json();
      console.log(data.credits);
      ```
    </CodeGroup>
  </Step>

  <Step title="Pick a project">
    Every project call needs the project id. List your projects and copy the `id`. This costs 1 credit.

    <CodeGroup>
      ```bash curl theme={"system"}
      curl https://api.radarkit.ai/v1/projects \
        -H "Authorization: Bearer rk_live_YOUR_KEY"
      ```

      ```python Python theme={"system"}
      projects = requests.get(
          "https://api.radarkit.ai/v1/projects",
          headers={"Authorization": "Bearer rk_live_YOUR_KEY"},
      ).json()["data"]
      project_id = projects[0]["id"]
      ```

      ```javascript JavaScript theme={"system"}
      const projects = await fetch("https://api.radarkit.ai/v1/projects", {
        headers: { Authorization: "Bearer rk_live_YOUR_KEY" },
      }).then((r) => r.json());
      const projectId = projects.data[0].id;
      ```
    </CodeGroup>

    From here, any endpoint in the sidebar works. Try [Get visibility](/docs/api-reference/visibility/get-visibility) for your brand's score per day.
  </Step>
</Steps>

## Every response has the same shape

| Field        | What it holds                                                              |
| ------------ | -------------------------------------------------------------------------- |
| `data`       | The result. An object for one thing, a list for many.                      |
| `meta`       | Facts about the request: the project, the date window, the models, paging. |
| `credits`    | `charged` for this call and `remaining` on the account after it.           |
| `request_id` | A unique id for this call. Quote it when you contact support.              |

Failed calls have an `error` instead of `data`. See [Errors](/docs/api/errors).

## Dates

Give a range with `from` and `to` as `YYYY-MM-DD`. Both days are included. Leave `to` out for today. Leave `from` out for the window your dashboard shows. Day boundaries follow the project's timezone. Every timestamp the API returns is UTC.

## Paging

Long lists come in pages of up to 25 rows. Every page has `has_more` and `next_cursor`. Send `next_cursor` back as `cursor` with the same filters to get the next page. There is no total count. For the size of a data set, ask for a free [export estimate](/docs/api-reference/exports/estimate-an-export).

## Next

<CardGroup cols={3}>
  <Card title="Authentication" icon="key" href="/docs/api/authentication">
    Who can create a key, what a key may do, how to keep it safe.
  </Card>

  <Card title="Credits and rate limits" icon="coins" href="/docs/api/credits-and-limits">
    What every call costs and how fast you can call.
  </Card>

  <Card title="MCP Documentation" icon="plug" href="/docs/mcp/introduction">
    Ask the same questions in plain language from Claude or Cursor.
  </Card>
</CardGroup>
