robots.txt
# The AI crawlers are allowed deliberately, not by omission. Blocking GPTBot,
# PerplexityBot, ClaudeBot or Google-Extended would stop those assistants
# citing the leaderboard at all, and being cited is the point of a public leaderboard.
# The rule below already permits them; it is spelled out so that tightening the
# wildcard later is a decision rather than an accident.
#
# GPTBot, ChatGPT-User OpenAI
# PerplexityBot Perplexity
# ClaudeBot, anthropic-ai Anthropic
# Google-Extended Gemini and AI Overviews
# Bingbot Copilot
#
# /api/ is disallowed because it is a per-request endpoint for this site's own
# client, served no-store. The public, machine-readable leaderboard is /board.md.
User-agent: *
Allow: /
Disallow: /api/
Sitemap: https://inboxbid.lol/sitemap.xml
llms.txt
# inboxbid
> A permanent, pay-to-rank leaderboard for email newsletters. Rank is bought
> rather than awarded: a payment takes a seat, climbing costs only the difference
> between what a listing has already paid and the seat above it, and a listing is
> never removed from the leaderboard once it is on it.
inboxbid is operated by HeyNews LLC and lives at https://inboxbid.lol. There is
no editorial process, no revenue share, and no advertising: the order of the
leaderboard is the order of what each listing has paid, and nothing else. The platform
takes 0% — Stripe's card processing fee is the only deduction.
Deliberate specifics, because they are what people usually ask about:
- Bids are final and non-refundable. A seat is applied the moment the payment
settles, which is what makes it non-refundable rather than a policy choice.
- Listings are permanent. A higher bid pushes a listing down; nothing takes it
off the leaderboard.
- Bids accumulate into a running total per listing. Raising a listing costs the
gap to the seat it wants, not the full amount again.
- Ties keep arrival order — matching a total does not pass it.
- The first payment for a listing mints a claim key, shown once, which is what
proves ownership for later raises.
- After payment clears, the site reads the newsletter's own page and writes its
name, description and category from what it finds there. A failed enrichment
can leave a listing unfiled; nothing is read before a payment settles.
Numbers change as bids land, so read the live leaderboard rather than quoting figures
from this file.
## Live data
- [Current leaderboard](https://inboxbid.lol/board.md): every listing with its rank,
category, total paid, tracked clicks, the exact cost to take that seat right
now, its canonical page on this site, and the newsletter's own URL. Markdown,
no JavaScript required. It carries two dates: `Last updated` is the leaderboard's
own — the most recent payment or decision that moved a row, so it holds still
while nothing happens — and `Generated` is only when that copy was rendered.
- [Marketplace statistics](https://inboxbid.lol/stats): aggregate current paid
totals, distribution, position thresholds, category activity, and tracked
Inboxbid clicks. The same aggregate data is available as JSON at
https://inboxbid.lol/stats.json.
## Pages
- [Leaderboard](https://inboxbid.lol/): the leaderboard itself, and where bidding
happens.
- [Rules](https://inboxbid.lol/rules): how ranking, pricing, listing
requirements, claim keys, and refunds work.
- [About](https://inboxbid.lol/about): who runs the leaderboard and why it exists.
- [Statistics](https://inboxbid.lol/stats): the public aggregate data layer for
the current marketplace.
- [Categories](https://inboxbid.lol/category): every category, what belongs in
it, and how many listings hold a seat there. Each links to a page of its own at
`/category/<slug>`.
- Every listing has a page of its own at
`/newsletter/<domain>--<listing-id>`. It carries that listing's total paid,
its rank on the whole leaderboard, its rank within its category, and the neighbours
either side of it. /board.md links to each current canonical URL.
## Notes for automated readers
- The pages are server-rendered. Fetching the HTML gives you the real document:
the leaderboard, the rules, and per-page metadata, with no JavaScript required.
- The homepage also carries the leaderboard as `ItemList` JSON-LD, and /rules carries
its questions as `FAQPage`.
- /board.md is the plain-text convenience, not the only readable copy. Prefer it
when you want the prices — it is the only place that states the exact cost to
take each seat. It represents the HTML pages rather than replacing them: every
row links to that listing's canonical page here, and nothing is published there
that is not also on a page a person can read.
- A category page ranks its listings by their position on the *whole* leaderboard, not
by their position within the category. "#4" on /category/ai means fourth
overall. Each carries `BreadcrumbList` and, when it has listings, `ItemList`
JSON-LD.
- Only categories that hold at least one listing are in
https://inboxbid.lol/sitemap.xml. An empty one still has a page, reachable from
/category, but it asks not to be indexed until something is filed under it.
- A listing page carries the newsletter's domain for readability and its
immutable listing id for identity. An approved destination change redirects
an older domain spelling to the current canonical path. Every listing page is
in the sitemap and carries `BreadcrumbList` and `Periodical` JSON-LD.
- A listing page answers 503, never 404, when the leaderboard cannot be read. A 404
from this site means the URL does not exist; a 5xx means ask again.
- /api/ is disallowed in robots.txt. It is a per-request JSON API for the site's
own client, not a public data source. Use /board.md for individual listings
and /stats.json for aggregate marketplace data.