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

# Quickstart

> Make your first Radion API request in under 5 minutes.

Get an API key and make your first API call.

## 1. Get an API key

You manage API keys at [radion.app/dashboard](https://radion.app/dashboard). Sign in and create your free key. Keys start with `sk_`. Move to a paid plan to drop the per-second rate limit and raise your monthly quota.

## 2. Check your key

Make sure your key works before you build:

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.radion.app/auth/me" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```typescript TypeScript theme={null}
  const res = await fetch("https://api.radion.app/auth/me", {
    headers: { "X-API-Key": "YOUR_API_KEY" },
  });
  const data = await res.json();
  console.log(data.plan, data.monthlyUsage);
  ```

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

  client = httpx.Client(headers={"X-API-Key": "YOUR_API_KEY"})
  res = client.get("https://api.radion.app/auth/me")
  data = res.json()
  print(data["plan"], data["monthlyUsage"])
  ```
</CodeGroup>

```json Response theme={null}
{
  "keyLabel": "production_read",
  "plan": "free",
  "callCount": 0,
  "createdAt": "2026-04-01T12:00:00Z",
  "lastUsedAt": null,
  "monthlyUsage": {
    "used": 0,
    "limit": 300,
    "resetsAt": "2026-07-01T00:00:00Z"
  },
  "requestsPerSecond": 5
}
```

If you get this back, your key works. You are ready to make requests.

## 3. Get an event

Read one Polymarket event by its id or URL slug. For example, `will-bitcoin-close-above-100k`:

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.radion.app/v1/polymarket/events/will-bitcoin-close-above-100k" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```typescript TypeScript theme={null}
  const identifier = "will-bitcoin-close-above-100k";

  const res = await fetch(
    `https://api.radion.app/v1/polymarket/events/${identifier}`,
    {
      headers: { "X-API-Key": "YOUR_API_KEY" },
    }
  );
  const event = await res.json();

  console.log(event.title);
  console.log(event.closed); // false while the event is live
  console.log(event.markets); // the markets inside the event
  ```

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

  client = httpx.Client(
      base_url="https://api.radion.app",
      headers={"X-API-Key": "YOUR_API_KEY"},
  )

  res = client.get("/v1/polymarket/events/will-bitcoin-close-above-100k")
  event = res.json()

  print(event["title"])
  print(event["closed"])   # False while the event is live
  print(event["markets"])  # the markets inside the event
  ```
</CodeGroup>

```json Response theme={null}
{
  "id": "12345",
  "slug": "will-bitcoin-close-above-100k",
  "title": "Will Bitcoin close above $100k?",
  "description": "Resolves Yes if BTC closes above $100,000.",
  "closed": false,
  "volume": 4820000,
  "startDate": 1714521600,
  "endDate": 1735689600,
  "marketCount": 1,
  "markets": [
    {
      "conditionId": "0x1234567890abcdef1234567890abcdef12345678",
      "question": "Will Bitcoin close above $100k?",
      "status": "open",
      "outcomes": [
        { "label": "Yes", "tokenId": "123456789" },
        { "label": "No", "tokenId": "987654321" }
      ]
    }
  ]
}
```

### Reading the response

| Field       | What it tells you                                      |
| ----------- | ------------------------------------------------------ |
| `id`        | The event id (numeric string)                          |
| `title`     | The event title                                        |
| `slug`      | The event's URL slug                                   |
| `closed`    | Whether the event is closed                            |
| `startDate` | When the event opened (Unix time, seconds)             |
| `endDate`   | When the event ends (Unix time, seconds)               |
| `markets`   | The markets inside the event, each with its `outcomes` |

## 4. List events by volume

Get the top events, ordered by trade volume. Use `limit` to set the page size and `cursor` to page through.

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.radion.app/v1/polymarket/events?limit=5" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```typescript TypeScript theme={null}
  const res = await fetch("https://api.radion.app/v1/polymarket/events?limit=5", {
    headers: { "X-API-Key": "YOUR_API_KEY" },
  });
  const { events, nextCursor } = await res.json();

  for (const event of events) {
    console.log(event.id, event.title, event.volume);
  }
  console.log("next page:", nextCursor);
  ```

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

  client = httpx.Client(
      base_url="https://api.radion.app",
      headers={"X-API-Key": "YOUR_API_KEY"},
  )

  res = client.get("/v1/polymarket/events", params={"limit": 5})
  body = res.json()
  for event in body["events"]:
      print(event["id"], event["title"], event["volume"])
  print("next page:", body["nextCursor"])
  ```
</CodeGroup>

Events and markets list endpoints return their array under `events` or `markets`, plus a `nextCursor`. Pass `nextCursor` back as the `cursor` query parameter to get the next page. See [Pagination](/api/pagination).

## 5. Search Polymarket

Search across events, themes, and profiles by text. Use `limit` for the page size and `page` to move through results.

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.radion.app/v1/polymarket/search?q=bitcoin&limit=5" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```typescript TypeScript theme={null}
  const res = await fetch(
    "https://api.radion.app/v1/polymarket/search?q=bitcoin&limit=5",
    {
      headers: { "X-API-Key": "YOUR_API_KEY" },
    }
  );
  const { events } = await res.json();

  for (const event of events) {
    console.log(event.title, event.slug);
  }
  ```

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

  client = httpx.Client(
      base_url="https://api.radion.app",
      headers={"X-API-Key": "YOUR_API_KEY"},
  )

  res = client.get("/v1/polymarket/search", params={"q": "bitcoin", "limit": 5})
  for event in res.json()["events"]:
      print(event["title"], event["slug"])
  ```
</CodeGroup>

## Next steps

<Columns cols={2}>
  <Card title="Onchain Data" icon="book-open" href="/concepts/onchain-data">
    Learn how Radion reads Polymarket contract events.
  </Card>

  <Card title="API Reference" icon="code" href="/api/overview">
    Full endpoint reference with schemas and examples.
  </Card>

  <Card title="Use Radion with AI" icon="bot" href="/ai/overview">
    Connect Radion to Claude, Cursor, and other AI tools.
  </Card>

  <Card title="WebSockets" icon="radio" href="/websockets/overview">
    Stream trades and market events live.
  </Card>
</Columns>
