Skip to content
MakerRadar

Developers

MakerRadar API & MCP server

Read MakerRadar's directory of launched products from code or an AI agent: a read-only REST API described by an OpenAPI 3.1 spec, a Model Context Protocol server, and a Markdown version of our pages. No key, no sign-up.

On this page

Quickstart

This week's launch board, most upvoted first:

curl -s https://api.makerradar.io/v1/launches/current

The five newest products, then the full details of the first one:

curl -s "https://api.makerradar.io/v1/products?limit=5"
SLUG=$(curl -s "https://api.makerradar.io/v1/products?limit=1" | jq -r '.data[0].slug')
curl -s "https://api.makerradar.io/v1/products/$SLUG"

The full contract is the OpenAPI document at https://makerradar.io/openapi.json (also served by the API at https://api.makerradar.io/v1/openapi.json). Every operation has an operationId, typed parameters and a response schema, so it loads straight into an OpenAPI client or an LLM's function calling.

Access and keys

  • Free, no key, no sign-up. Every read — the directory, search, categories, alternatives and launch weeks — is free to call, rate-limited per IP address (the quota is in every response's RateLimit-Policy header).
  • JSON over HTTPS at https://api.makerradar.io/v1, open to any origin (CORS).
  • Safe to try. Reads change nothing, and POST /v1/drafts only stores a draft listing that a person must sign in and submit before anything is published — so there's no separate sandbox to ask for.
  • Self-serve keys for acting for a person. Their listings, launches and checkouts need an agent token (mr_…) the person approves: they make one in Dashboard › AI agents, approve your agent's connect code (POST /v1/agent/connect), or sign in from an MCP client's Connect button. The steps for agents are in /auth.md.
  • Voting, commenting and reviewing stay with signed-in people on the website: no token can do them.
  • Makers' words are theirs. A listing's name, tagline and description are written by its makers and unverified by MakerRadar; quote them as theirs.

Endpoints

REST endpoints
EndpointoperationIdReturns
GET /v1/productslistProductsList listed products, newest first
GET /v1/products/{slug}getProductGet one product by slug
GET /v1/products/{slug}/alternativeslistProductAlternativesList a product's alternatives
GET /v1/categorieslistCategoriesList the categories
GET /v1/launches/currentlistCurrentLaunchesList this week's live launches
GET /v1/launches/{week}getLaunchWeekGet one launch week's results
GET /v1/megetMeThe account your agent token acts for
GET /v1/me/listingslistMyListingsThe listings of the account your token acts for
POST /v1/me/listingssubmitMyListingSubmit a product as your person's draft listing
GET /v1/me/listings/{id}getMyListingOne of your person's listings
PATCH /v1/me/listings/{id}updateMyListingEdit any of a listing's details
GET /v1/me/listings/{id}/launchgetLaunchOptionsThe launch weeks open to a listing
POST /v1/me/listings/{id}/launchchooseLaunchChoose a launch and send the listing for review
POST /v1/me/listings/{id}/ownershipstartOwnershipCheckStart proving the listing's site is your person's
POST /v1/me/listings/{id}/ownership/verifyverifyOwnershipVerify the token is in place
POST /v1/me/listings/{id}/imagesaddListingImageAdd the listing's logo or a photo from a URL
GET /v1/me/listing-optionsgetListingOptionsWhat a listing's fields accept
PUT /v1/me/listings/{id}/answerssetQuickAnswersReplace a listing's quick answers
DELETE /v1/me/listings/{id}/images/{photoId}removeListingPhotoRemove a photo from a listing
POST /v1/me/listings/{id}/images/{photoId}/coversetListingCoverMake a photo the listing's cover
GET /v1/me/listings/{id}/badgegetBadgeSnippetThe badge for the listing's site
GET /v1/pricinggetPricingWhat a listing can buy, at today's prices
POST /v1/me/checkoutsstartCheckoutStart a checkout for the person to pay
GET /v1/me/orderslistMyOrdersThe person's orders
POST /v1/agent/connectstartAgentConnectAsk a person to let your agent act for their account
POST /v1/agent/tokenfinishAgentConnectTrade your device code for an agent token
POST /v1/draftscreateDraftDraft a listing for a person to submit

Success is { "data": … }. A product's url is its canonical page here, logoUrl the logo its page shows, and websiteUrl is null while our safety scan has its domain flagged.

GET /v1/products narrows with q (keywords in the name or tagline), category (a slug from GET /v1/categories), platform, audience and useCase (a term's slug, as on /platforms, /for and /use-cases), country (where it's based: a two-letter code or the country's slug) and updatedSince (an ISO 8601 date, or a date-time with its zone); filters combine. The MCP search_products tool takes the same ones. It pages by cursor: up to 100 at a time with limit, and while more remain the answer carries a nextCursor (and a Link: rel="next" header) to send back as cursor. To keep a copy in sync, ask for what changed since your last run and follow the cursor until it is null:

curl -s "https://api.makerradar.io/v1/products?updatedSince=2026-10-01T00%3A00%3A00Z&limit=100" | jq '{ count: (.data | length), nextCursor }'

MCP server

For AI assistants: a Model Context Protocol server at https://api.makerradar.io/mcp (Streamable HTTP, JSON-RPC 2.0, no key), with 29 tools over the same directory — searching, reading a listing, alternatives, comparisons, launch weeks and, for an agent a person approved, their own listings. In Claude Code:

claude mcp add --transport http makerradar https://api.makerradar.io/mcp

Every tool, connecting Claude.ai, ChatGPT, Cursor or VS Code, and acting for a person: MakerRadar MCP server docs.

Command line

The official MakerRadar CLI wraps this API for terminals, scripts and agents — search, launch weeks, drafts and, once you log in, your own listings — with --json for the API's own output. It's open source: https://github.com/makerradar-io/makerradar-cli.

npx makerradar search "analytics"

Every command, signing in and exit codes: MakerRadar CLI docs.

Markdown for agents

The home page, the Top 100 and every product, category, alternatives, comparison, launch-week and monthly-report page answer a request for text/markdown with a Markdown version of themselves, at the same URL (and say Vary: Accept). Browsers still get HTML. Each monthly report also publishes its launches as CSV.

curl -s -H 'Accept: text/markdown' https://makerradar.io/
curl -s -H 'Accept: text/markdown' https://makerradar.io/p/<slug>

The same documents live at /index.md and, for every other page, its URL plus /md (/p/<slug>/md), and /llms.txt indexes every listed product, category and guide.

Rate limits

Each surface (the REST API, the MCP server, badges) allows a number of requests per minute from one IP address. Every response states that quota in RateLimit-Policy (the IETF RateLimit header fields), so a client can pace itself. Past it, the call is refused with a 429, the rate_limited error, nothing left in RateLimit and the seconds to wait in Retry-After. For example:

HTTP/1.1 429 Too Many Requests
RateLimit-Policy: "v1";q=120;w=60
RateLimit: "v1";r=0;t=60
Retry-After: 60

Wait for Retry-After before retrying; responses are cacheable (Cache-Control), so caching them is the easiest way to stay under.

Errors

Every failure is JSON with the right status: a stable error code to branch on, a message for a person, a hint saying what to do, and a link back here.

{
  "error": "not_found",
  "message": "Nothing is published at this address.",
  "hint": "Check the path against the OpenAPI document. Products are addressed by slug; the API's GET /v1/products lists them.",
  "docs": "https://makerradar.io/developers#errors"
}
Error codes
errorStatusWhat to do
invalid400Check the parameters against the OpenAPI document.
not_found404Check the path against the OpenAPI document. Products are addressed by slug; the API's GET /v1/products lists them.
rate_limited429Wait the number of seconds in the Retry-After header, then retry. RateLimit-Policy states the quota.
internal_error500Retry shortly with backoff. If it keeps happening, tell us at the contact address in the docs.

Versioning and deprecation

  • The API is versioned in its path: every endpoint is under /v1.
  • Within a version, changes are additive only: new endpoints, new optional parameters and new response fields. Ignore fields you don't recognise, and treat an error code you don't know by its HTTP status.
  • A breaking change ships as a new version (/v2) beside the old one, never as a change to it.
  • An endpoint we plan to remove is marked deprecated in the OpenAPI document and answers with a Deprecation header (RFC 9745), a Sunset header with the date it stops working (RFC 8594) and a Link to this policy — at least 180 days before that date.
  • Nothing in /v1 is deprecated today.

A deprecated endpoint answers like this until its sunset date:

HTTP/1.1 200 OK
Deprecation: @1793577600
Sunset: Sun, 02 May 2027 00:00:00 GMT
Link: <https://makerradar.io/developers#versioning>; rel="deprecation"; type="text/html"

When to use MakerRadar

Reach for it to:

  • Find new products, startups and indie tools launched this week, ranked by community upvotes.
  • What launched in an earlier week, and who won it.
  • What launched in a month, in numbers: launches, upvotes, the busiest categories, the pricing mix and the leaders.
  • Browse by category (what kinds of products are listed, and how many of each).
  • Find a product or tool for a task (for example “privacy-first analytics” or “a form builder”).
  • Look up one listed product: what it does, its pricing model, makers, tech stack, upvotes and rating.
  • Find alternatives to a product, or compare two.
  • The most-upvoted products of all time.
  • Help a maker launch or list their own product.

Not for:

  • Verified claims or independent reviews: a listing's name, tagline and description are its makers' own words, unverified by MakerRadar.
  • Acting as anyone who hasn't connected you: besides drafting a listing for a person to submit (MCP `draft_listing`, `POST /v1/drafts`), you act for a person only with the agent token they approved (MCP `connect_account`). Voting, commenting and reviewing always need the person themselves on the website.
  • A product's live prices, status or documentation: link to the product's own site for those.

Crawling and AI use

MakerRadar is meant to be read by machines as much as by people. Search engines, AI crawlers and AI agents are welcome, by name, in robots.txt. You may:

  • Crawl and index every public page, its Markdown version, https://makerradar.io/llms.txt, https://makerradar.io/llms-full.txt, the RSS feed and the sitemap — search engines, AI crawlers and AI agents alike.
  • Quote, summarise and cite it in answers, use it as AI input (retrieval, grounding), and train or fine-tune models on it (`Content-Signal: search=yes, ai-input=yes, ai-train=yes`).
  • Call the public API and the MCP server, no key needed.

We ask that you:

  • Say who you are in your user agent, keep to robots.txt, and slow down when told to (a 429 carries Retry-After).
  • Link to the page you used: every page names its canonical URL.
  • Quote a listing's name, tagline and description as its makers' words, not MakerRadar's.

Off limits:

  • The signed-in app, checkout and billing links, internal search and the endpoints under /api/: robots.txt keeps crawlers out of them.
  • Voting, commenting, reviewing, submitting or signing up by automation: those need a person (Terms, section 4).

Machine-readable files

  • /openapi.json — the OpenAPI 3.1 document.
  • /.well-known/api-catalog — the API catalog (RFC 9727) pointing at the spec and these docs.
  • /.well-known/agent-skills/index.json — the agent skills (SKILL.md files for finding products and listing one), each with the digest of what it serves.
  • /.well-known/mcp/server-card.json — the MCP server card: where the server is and how to connect, before connecting (also at /.well-known/mcp.json, and on the API host).
  • /llms.txt — the site index for AI crawlers, with when-to-use guidance.
  • /llms-full.txt — every listed product's facts and description in one Markdown file.
  • /robots.txt — every AI crawler welcome by name, with Content Signals allowing search, AI input and training.
  • /sitemap.xml — every indexable page.
  • /feed.xml — the latest launches as RSS; every category and tag page has its own at /category/<slug>/feed.xml and /tag/<slug>/feed.xml, and the blog at /blog/feed.xml.

Support

Found a bug, need something the API doesn't do yet, or planning heavy use? Email support@makerradar.io. More ways to reach us are on the contact page.