---
title: "Open Media developer portal"
description: "Quickstart for building on Open Media: no-key public API, personal access tokens, MCP servers, plugins and the test-mode sandbox."
canonical: https://openmedia.site/developers
last-updated: 2026-10-25
---

# Open Media developer portal

Build on Open Media without an account for public data, or act for a person with their own token.

## Quickstart

1. Read the public feed: `curl "https://openmedia.site/v1/feed"`. No key, no signup.
2. Connect an MCP client to `https://openmedia.site/open/mcp` (Streamable HTTP).
3. To act for a person, they copy a short-lived access token from the app (Settings, then Developers and agents) and you send it as `Authorization: Bearer <token>`.
4. Install the Open Media plugin for Claude Code or Codex from the [repository](https://github.com/mihirkavi/open-media/tree/main/agent-plugin).
5. For your agent's own rate limit, register it: `POST https://openmedia.site/agent/identity` with `{"type": "anonymous"}`, then trade the assertion at `/oauth/token` ([how](https://openmedia.site/auth.md)).

## SDKs and command line

The repository includes a TypeScript SDK (`packages/sdk`, `open-media-sdk`), a command line (`packages/cli`, `open-media`) and a Python client (`packages/python`, `open-media`). They are not on npm or PyPI yet; build them from the [repository](https://github.com/mihirkavi/open-media/tree/main/packages). Each retries 429s after `Retry-After` and sends an `Idempotency-Key` on every write.

```ts
import { OpenMedia } from 'open-media-sdk';
const feed = await new OpenMedia().feed({ sources: ['farcaster', 'lens'] });
```

```bash
open-media search ethereum on lens --json
```

## Access tokens

There are no API keys to request and no sales process. Public data is free and keyless; account access uses the person's own token, so an integration can never do more than that person can. Tokens expire after about an hour.

## Commerce on ONDC (India)

Open Media is building an ONDC seller app (Beckn, retail 1.2.0), described at [https://openmedia.site/ondc](https://openmedia.site/ondc). Sellers in India set up their store with `GET`/`PUT https://openmedia.site/v1/me/ondc` or the `get_ondc_store` and `set_ondc_store` tools on `/me/mcp`. Their public INR products are then offered to ONDC buyer apps through signed `search` and `select` callbacks. Open Media is not yet registered on the ONDC network, and orders through ONDC come in a later phase.

## Sandbox and test mode

- Payments are in test mode (Stripe test cards, USDC on Base Sepolia) until live payments are approved; no real money moves.
- Run the whole stack locally with `npm run local` (database, auth, API and web app) for a private sandbox with test accounts.

## Resources

- [API documentation](https://openmedia.site/docs) and [OpenAPI 3.1](https://openmedia.site/v1/openapi.json)
- [Agent guide](https://openmedia.site/agents) and [authentication](https://openmedia.site/auth.md)
- [Skills index](https://openmedia.site/.well-known/agent-skills/index.json) and [MCP server card](https://openmedia.site/.well-known/mcp/server-card.json)
- [Source code (MIT)](https://github.com/mihirkavi/open-media)
