Developer Hub

Flamas Public Data API

A free, read-only JSON API for the freshest data on Flamas: the day’s top launches, weekly and monthly leaderboards, award winners, categories, and live stats. Embed it in your app, newsletter, or dashboard. Attribution required: each item links back to its Flamas listing.

Quickstart

No key needed to try it. Anonymous requests are rate-limited per IP:

curl "https://flamas.io/api/v1/launches/top?period=day"

With a key you get a much higher limit. Send it as a bearer token or header:

curl -H "Authorization: Bearer flm_live_…" \
  "https://flamas.io/api/v1/launches/top?period=week"

# or
curl -H "x-api-key: flm_live_…" "https://flamas.io/api/v1/stats"

Authentication & rate limits

Two tiers. Anonymous access is open so you can embed data with zero friction; an API key (free, from your settings) raises the limit for real integrations.

  • Anonymous: 60 requests/hour per IP.
  • With API key: 5000 requests/hour per key.

Every response carries X-RateLimit-Limit and X-RateLimit-Reset headers; a 429 includes Retry-After. Keys are secret, so store them server-side and never ship them in client code you don’t control. Revoke a leaked key anytime from settings.

Endpoints

All endpoints are GET, return JSON, and are CORS-enabled for browser widgets. Lists are hard-capped at 10 items. We intentionally don’t expose the full launch board.

GET/api/v1/launches/top?period=day|week|month

The top 10 launches for the period, ranked by community upvotes. Capped at 10. The full board is not exposed.

{
  "data": [
    {
      "rank": 1,
      "name": "Acme Analytics",
      "tagline": "Product analytics for solo founders",
      "productUrl": "https://acme.example",
      "flamasUrl": "https://flamas.io/acme-analytics",
      "logoUrl": "https://flamas.io/media/…",
      "pricing": "FREEMIUM",
      "tags": ["analytics", "saas"],
      "category": { "name": "Analytics", "slug": "analytics" },
      "upvotes": 128,
      "launchDate": "2026-07-26"
    }
  ],
  "meta": { "period": "day", "count": 10, "limit": 10 },
  "_attribution": { "text": "Data by Flamas", "url": "https://flamas.io" }
}
GET/api/v1/wants

Open wants: problems people posted that they'd pay to have answered, with how many are waiting and their budget band. The demand side of the market, capped at 10.

{
  "data": [
    {
      "title": "A tool that turns Notion pages into invoices",
      "problem": "I copy line items by hand every month…",
      "budget": "TEN_TO_50",
      "peopleWaiting": 34,
      "candidates": 2,
      "category": { "name": "Productivity", "slug": "productivity" },
      "postedAt": "2026-09-02",
      "flamasUrl": "https://flamas.io/wants/a-tool-that-turns-notion-pages-into-invoices"
    }
  ]
}
GET/api/v1/badges

Recent award winners (Product of the Day / Week). Up to 10, each with a link back to its Flamas listing.

{
  "data": [
    {
      "award": "#1 Product of the Day",
      "type": "PRODUCT_OF_THE_DAY",
      "date": "2026-07-25",
      "name": "Acme Analytics",
      "productUrl": "https://acme.example",
      "flamasUrl": "https://flamas.io/acme-analytics"
    }
  ]
}
GET/api/v1/categories

The category directory (slug, name, tagline). No product content.

{ "data": [ { "slug": "analytics", "name": "Analytics", "tagline": "…", "flamasUrl": "https://flamas.io/?category=analytics" } ] }
GET/api/v1/stats

Aggregate counts only, great for a live 'stats' widget or press mentions.

{ "data": { "totalProducts": 1240, "launchesThisWeek": 63, "categoryCount": 18, "upvotesToday": 512, "liveNow": 9 } }

MCP server (for AI clients)

Assistants can query Flamas live over the Model Context Protocol instead of waiting for a crawl. The endpoint speaks JSON-RPC 2.0 over HTTP at https://flamas.io/api/mcp and needs no key.

Tools: search_products, get_product, top_launches, list_wants. Every product result carries its liveness status, so a client can avoid recommending a tool whose site stopped answering.

curl -X POST https://flamas.io/api/mcp   -H 'content-type: application/json'   -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"search_products","arguments":{"query":"invoice","aliveOnly":true}}}'

Response shape

Successful responses are { data, meta, _attribution }. Errors are { error: { code, message } } with a matching HTTP status. Each product item includes both productUrl (the maker’s real site) and flamasUrl (its Flamas listing) so you can link either way.

Terms & attribution

The API is free for commercial and non-commercial use under these terms:

  • Attribution is required. Wherever you display this data, show a visible “Data by Flamas” credit linking to flamas.io, or link each item to its flamasUrl.
  • Read-only. Don’t attempt to reconstruct the full launch dataset or scrape beyond the API.
  • Don’t misrepresent the data as your own or imply Flamas endorses your product.
  • We may rate-limit, revoke keys, or change the API to protect the service.

Drop-in attribution badge:

<a href="https://flamas.io?ref=badge" target="_blank" rel="noopener">
  Featured on Flamas
</a>

Support

Questions or want a higher limit for a bigger integration? Reach out from the about page. Happy building. 🔥