> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://docs-sepolia.modularium.art/api/mcp` to find what you need.

# Modularium API

The Modularium API is a free, read-only HTTP API over everything Modularium indexes: collections, tokens, owners, listings, offers, drops, activity and profiles. It's the same API the modularium.art website uses. To write anything (create, list, mint), call the [contracts](/developers/contracts) directly.

**[Open the API reference →](https://api-sepolia.modularium.art/docs)**

* **Base URL:** `https://api-sepolia.modularium.art`
* **Interactive reference:** [api.modularium.art/docs](https://api-sepolia.modularium.art/docs)
* **OpenAPI spec:** [api.modularium.art/openapi.json](https://api-sepolia.modularium.art/openapi.json)
* **GraphQL:** `https://api-sepolia.modularium.art/graphql`

No API key is needed.

## Quick example

```bash
# A collection, by contract address or slug
curl https://api-sepolia.modularium.art/collection/my-collection

# Tokens held by a wallet
curl "https://api-sepolia.modularium.art/wallet/0xYourAddress/tokens?limit=20"
```

## What's available

| Endpoints | Covers |
| --- | --- |
| `/collection/{addressOrSlug}` | Collection details, tokens, holders, minters, listings, offers, stats, activity, roles. Also search and recently created collections. |
| `/collection/{address}/{tokenId}` | A single token: metadata, holders, listings, offers, floor price, activity |
| `/wallet/{owner}` | What a wallet owns, created, listed and froze, plus the offers it has made and received, its collections and its activity |
| `/balances/{owner}` | Token balances for a wallet |
| `/tokens` | Recently created tokens and random picks |
| `/profile/{addressOrUsername}` | Modularium profiles, looked up by address or username |
| `/merkle-proof/{root}/{address}` | Allowlist proofs for drops that use one |

The [reference](https://api-sepolia.modularium.art/docs) has every endpoint, parameter and response shape, and lets you try requests in the browser.

## Conventions

* **Pagination.** List endpoints return `{ data, nextCursor }`. Pass `nextCursor` back as `?cursor=` to get the next page, and `?limit=` to set the page size (up to 100). `nextCursor` is `null` on the last page.
* **Profiles included.** Every address field (`owner`, `maker`, `creator`, `royaltyReceiver`, …) comes with `<field>Username`, `<field>Name` and `<field>Avatar` from that address's Modularium profile, or `null` if no profile is set.
* **Metadata as JSON.** Token and collection metadata is returned already decoded, so you don't need to parse the [on-chain format](/developers/metadata).
* **Indexed data.** The API follows the chain closely, but a transaction can take a few seconds to appear.
