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

# API overview

> Two APIs — a public one for marketplace data, and a keyed one for your shop.

There are two APIs here and they have nothing in common — different base paths,
different auth, different response shapes. Picking the wrong one is the usual
first wrong turn.

<CardGroup cols={2}>
  <Card title="Marketplace API" icon="chart-line" href="/api/marketplace">
    **Public, no key, read-only.**

    Collections, floors, listings, sales and tokens across every chain.

    `https://exclusivo.one/v1`
  </Card>

  <Card title="Store API" icon="store" href="/api/authentication">
    **API key, scoped, read and write.**

    Your own shop's products, orders, customers, stock and analytics. Plus
    webhooks.

    `https://exclusivo.one/api/v1`
  </Card>
</CardGroup>

## Side by side

|            | Marketplace                          | Store                          |
| ---------- | ------------------------------------ | ------------------------------ |
| Base       | `/v1`                                | `/api/v1`                      |
| Auth       | None                                 | API key                        |
| Covers     | Everything public                    | One shop, yours                |
| Methods    | `GET`                                | `GET`, `POST`, `PUT`, `DELETE` |
| CORS       | `*` — call it from a browser         | Server-side only               |
| Rate limit | 120/min lists, 300/min items, per IP | Per key, per minute            |
| Success    | `{ data, pagination?, meta? }`       | `{ data, pagination }`         |
| Error      | `{ error: { code, message } }`       | `{ error: "message" }`         |
| Spec       | `/v1/openapi.json`                   | —                              |

## Which one do you want

<AccordionGroup>
  <Accordion title="Floor prices, listings or sales for a collection">
    Marketplace API. No key needed. → [Marketplace API](/api/marketplace)
  </Accordion>

  <Accordion title="Syncing products from another system into your shop">
    Store API, `products:write`. → [Products](/api/store/products)
  </Accordion>

  <Accordion title="Pushing orders into your fulfilment software">
    Store API with `orders:read` — or better, a [webhook](/api/webhooks), so
    you're not polling.
  </Accordion>

  <Accordion title="A public collection tracker with no backend">
    Marketplace API. It's CORS-open, so you can call it straight from the browser.
  </Accordion>
</AccordionGroup>

## Caching

Marketplace responses are CDN-cached with `stale-while-revalidate`, so repeated
identical requests are cheap and don't eat your rate limit at the origin. Don't
add cache-busting parameters.

The Store API isn't cached — it returns your live data.

## Start here

<CodeGroup>
  ```bash Marketplace — just call it theme={"system"}
  curl "https://exclusivo.one/v1/collections?chain=solana&limit=5"
  ```

  ```bash Store — make a key first theme={"system"}
  # Growth → API in your dashboard, then:
  curl https://exclusivo.one/api/v1/products \
    -H "Authorization: Bearer ex_live_your_key_here"
  ```
</CodeGroup>
