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, reveals, featured reveals, holds, hold windows, new-listing delay and the change feed.
Every endpoint and every MCP tool answers on every plan, free included, with one exception: searching the whole tracked pool is Starter and Business. What a plan changes is how much you can do: requests per minute, whether masked names are disclosed, 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 | Starter | Business | |
|---|---|---|---|
| Price | $0 | $29/mo | $249/mo |
| Requests per minute, per key | 20 | 60 | 120 |
| Live API keys per account | 2 | 5 | 10 |
| Reveals | None (masked names stay masked) | No ceiling: every name disclosed | No ceiling: every name disclosed |
Reveal a featured listing | Not allowed | Included (1 credit) | Included (1 credit) |
| Holds at once | None | 5 | 20 |
| Hold window | — | 48 hours | 168 hours |
| Extension, once per hold | — | 24 hours | 168 hours |
| New listings visible after | 7 days | Immediately | Immediately |
| CSV export | No | Yes | Yes |
since change feed | No | No | Yes |
| Look up any domain | 10 a minute, 500 a day | 60 a minute | 120 a minute |
| Search the whole tracked pool | No | Yes: 250 rows a page, 12 searches a minute | Yes: 1000 rows a page, 30 searches a minute |
Every plan sees every open-tier listing with its name, and revealing an open listing never costs anything.
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
A reveal discloses one masked name, permanently.
- Free has no reveals. Unrevealed
regularandfeaturedlistings arrive withdomain: nulland amask_hint, and a reveal call is refused withQUOTA_EXHAUSTED. Open-tier names, and names the account revealed before reveals were withdrawn, still arrive disclosed. - Starter and Business have no ceiling. Every name arrives disclosed, except while another account is holding the listing.
reveals.unlimitedistrueandreveals.limitisnull. CallingPOST /api/v1/domains/{id}/revealthere is never required; it only records the reveal, which is free.
See Reveals and holds.
Reveal credits
On a plan that has a ceiling, reveals are counted in credits (limit, remaining and used on GET /api/v1/me). Accounts can be given a ceiling by an administrator even on a plan without one, so read the numbers rather than assuming them.
| Reveal | Cost |
|---|---|
open-tier listing | 0 credits |
| A listing you already revealed | 0 credits |
regular listing | 1 credit |
featured listing | Free: not allowed. Starter and Business: 1 credit. |
| Any listing on a plan with no ceiling | 0 credits |
reveals.featured_credits on /me reports what a featured reveal costs on your plan. It is null when your plan cannot reveal featured listings at all.
Past a ceiling, a reveal is refused with 402 and QUOTA_EXHAUSTED. The refusal carries credits_needed and credits_remaining. On Free, a featured reveal is refused with FEATURED_REQUIRES_PRO. The code name is kept for compatibility. It now means any paid plan can reveal featured listings.
Refund if just registered
Every first reveal re-checks availability. If the re-check finds the name was registered since our last check, the reveal costs 0 credits. The response says so: credits_charged is 0, refunded is true, and note explains why.
Checks and credits
The value estimate and the spam-history check are open to every plan and have their own per-account limits, listed on Rate limits. The paid deep check is priced in credits, separate from reveals: see Credits for what each plan includes.
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. The code name is kept for compatibility; it means the plan allows no holds. At the cap, a hold is refused with HOLD_CAP_REACHED; end a hold you no longer need.
New-listing delay
A listing becomes visible to Free 7 days after it enters the directory. Starter and Business see it immediately. 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 Starter 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.
The feed delivers full, clean data, licensed for your own use. You may not resell or redistribute it.
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.