Plans and limits: reveals, holds and rate limits
Every per-plan limit on the Revised API and MCP server in one table — requests per minute, API keys, monthly reveals, holds, hold windows, new-listing delay and the change feed.
Every endpoint and every MCP tool answers on every plan, free included. What a plan changes is how much you can do: requests per minute, names revealed per month, listings held at once, and how soon you see a new listing. This page lists every limit in one place.
Prices are on getrevised.com/pricing. For the live numbers behind your own key, call GET /api/v1/me or the MCP whoami tool — both are free — rather than hard-coding this table.
At a glance
| Free | Pro | Business | |
|---|---|---|---|
| Requests per minute, per key | 20 | 60 | 120 |
| Live API keys per account | 2 | 5 | 10 |
| Reveals per month | 10 | 500 | No ceiling |
Reveal featured listings | No | Yes | Yes |
| Holds at once | None | 3 | 20 |
| Hold window | — | 48 hours | 168 hours |
| Extension, once per hold | — | 24 hours | 168 hours |
| New listings visible after | 7 days | 1 day | Immediately |
since change feed | No | No | Yes |
All three plans see every open-tier listing with its name, and revealing an open listing never spends from the allowance.
Requests per minute
Counted per key, in fixed one-minute windows that reset on the wall-clock minute. REST and MCP calls share one counter. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; over the limit you get 429 with Retry-After. See Rate limits.
A second key gets a second counter, but reveals and holds stay account-wide. Use extra keys to separate systems, not to multiply throughput.
Reveals per month
A reveal discloses one masked name, permanently. The allowance resets at the start of each calendar month, UTC — reveals.resets_at says exactly when.
A reveal is free, and does not count, when the listing is open tier, when you have already revealed it, or when your plan has no ceiling. Past the allowance, a reveal is refused with 402 and QUOTA_EXHAUSTED. A free plan cannot reveal a featured listing at all (FEATURED_REQUIRES_PRO). See Reveals and holds.
On a plan with a ceiling, unrevealed regular and featured listings arrive with domain: null and a mask_hint. On Business every name arrives disclosed, except while another account is holding the listing.
Holds
A hold reserves a listing inside Revised — and only inside Revised — for the plan’s window. Each hold may be extended once, from the time it was going to end. After a hold of yours ends, you cannot hold that same listing again for 30 days.
On Free, a hold is refused with HOLDS_REQUIRE_PRO. At the cap, it is refused with HOLD_CAP_REACHED; end a hold you no longer need. A hold also requires that the account revealed the listing first.
New-listing delay
A listing becomes visible to each plan a set time after it enters the directory: 7 days on Free, 1 day on Pro, immediately on Business. Until then it is not in your results at all, and GET /api/v1/domains/{id} for it answers 404. The same delay applies over MCP.
This matters most if you poll for new listings — see Find newly listed expired domains.
Change feed
?since= on GET /api/v1/domains returns only what changed after a watermark, including tombstones for listings that left. It is Business only; on Free and Pro it answers 402 upgrade_required, and it is the only parameter a plan can refuse. Paging the whole directory with cursor reaches the same rows on any plan. See Incremental sync.
When your plan changes
A key carries no plan of its own. The owner’s current plan is resolved on every request and refreshed at least once a minute, so an upgrade, downgrade or lapse takes effect without reissuing any key. A lapsed subscription reads as free. Names you revealed stay revealed.