Revised

Domain search filters: every query parameter

Every query parameter of GET /api/v1/domains — the paging trio, the ordering, and the sixteen directory filters.

GET /api/v1/domains takes three kinds of query parameter: the paging trio, the ordering, and the filters. This page documents all of them. Filtering is free — reading a page never spends a reveal, whatever it matched.

Values are refused, not ignored. A parameter listed here, carrying a value it cannot honour, is 400 invalid_request naming the parameter and what it accepts. A silently dropped filter would return more rows than you asked for, which is a bigger and plausible-looking page with no way to detect it. Parameters not listed here are ignored, so tracking and cache-busting keys are safe to leave on the query string.

Paging and ordering

Documented in full on Pagination and sync.

ParameterTypeNotes
cursorstringOpaque, from the previous response’s next_cursor. Belongs to the ordering it came from.
limitintegerDefault 50, maximum 250, minimum 1. Out of range is clamped; a non-integer (including the empty string) is refused.
sinceISO 8601 instantBusiness plan only — 402 upgrade_required on Free and Starter. Inclusive against updated_at. Returns tombstones as well as listings.
sortenum: latestOmitted means ascending listing id. latest is newest discovered_at first. No other value is accepted, and latest cannot be combined with since.

Filters

ParameterTypeFilters on
ageMininteger 0–100Minimum domain age in whole years
categorycomma-separated codesCategory
checkedDaysinteger 1–3650Availability re-checked within N days
citabilityMininteger 0–100Minimum Agent Citability
featuredbooleanThe curated shelf
linkedFromMininteger 1–50Minimum tracked sites linking in
priceRangeenumEstimated-value band
qstring, 1–80 charsFree text — not the real name
rdcomma-separated band idsReferring-domain band (lt10, 10-50, 50-100, 100-250, 250plus)
recommendedbooleanThe recommended heuristic
rsMininteger 0–100Minimum Revised Score
rsMaxinteger 0–100Maximum Revised Score
sourcecomma-separated namesLinking source
tierenum: openShelf
tldcomma-separated TLDsTLD
trafficenum: any, 100k, 1mVisitor-traffic band
trafficSustainedbooleanVisitor traffic held for 12+ months

ageMin

Minimum age of the domain in whole years. Integer, 0 to 100.

Rows whose age_years is null never match, so ageMin=1 does not mean “at least a year old” — it means “at least a year old and the age is known”. Age is one of the metrics most often absent, which makes this the filter most likely to cut a shelf harder than intended. Check metrics_missing on the rows you do get back.

bash
curl "https://getrevised.com/api/v1/domains?ageMin=10&limit=50" \
  -H "Authorization: Bearer $REVISED_API_KEY"

category

One category code, or several comma-separated. Lower case, hyphens — for example fitness, education, saas.

bash
curl "https://getrevised.com/api/v1/domains?category=saas,education" \
  -H "Authorization: Bearer $REVISED_API_KEY"

The vocabulary is not fixed: a new code can appear when the directory grows, so treat the published list as a snapshot and let a refused code tell you when it is out of date. The codes are Revised’s own, not a user’s words — marketing and software are not among them. Some listings carry no category at all — they are in the directory and every other filter reaches them, but no category value returns them.

checkedDays

Only listings whose availability was re-checked within this many days. Integer, 1 to 3650.

availability_checked_at is a stamp, not a live check: reading a listing does not re-check it, and revealing one does. Use this filter when you are about to act on rows and want recent confirmation that the name is still unregistered.

bash
curl "https://getrevised.com/api/v1/domains?checkedDays=7" \
  -H "Authorization: Bearer $REVISED_API_KEY"

citabilityMin

Minimum Agent Citability (preview) score — a preview score for how deeply sources that AI assistants cite link to this domain. It does not predict citation. Integer, 0 to 100.

Listings with no citability row never match. Absence is not a zero; it means the domain has no row in the current index.

Boolean. Restricts to the curated shelf.

This reads the shelf rank, which is not the same thing as the featured value of the tier field, and the two can disagree. To select by shelf, use tier.

linkedFromMin

Minimum number of sites we track (Wikipedia, Hacker News, universities, major publishers) that link to the listing, as reported by linked_from_count. Integer, 1 to 50.

Listings with no count never match. Absence is not a zero.

bash
curl "https://getrevised.com/api/v1/domains?linkedFromMin=3" \
  -H "Authorization: Bearer $REVISED_API_KEY"

priceRange

Estimated-value band. One of:

ValueBand
under-100Under $100
100-249$100 to $249
250-999$250 to $999
1000-2499$1,000 to $2,499
2500-plus$2,500 and up

Bucketed on the same figure the response reports as estimated_value_cents, and the same buckets as estimated_value_band, so filtering by a band and reading the values back agree. Nothing in the directory is for sale by Revised; this is a valuation, not a price.

q

Free text, 1 to 80 characters.

Filter structurally — category, tld, a metric floor — before reaching for text. Whitespace-only input reads as no search rather than an error.

rd

Referring-domain band, by band id. Comma-separate for several. The ids are not the band strings a row reports in referring_domains — those contain < and +, which percent-encode into unreadable URLs.

ValueBandReported on a row as
lt10Under 10<10
10-5010 to 5010-50
50-10050 to 10050-100
100-250100 to 250100-250
250plus250 or more250+
bash
curl "https://getrevised.com/api/v1/domains?rd=lt10,250plus" \
  -H "Authorization: Bearer $REVISED_API_KEY"

Boolean. Only listings that pass Revised’s own heuristic: a category of any kind (including the literal other), at least one recognisable linking site, and a Revised Score floor.

rsMin and rsMax

Revised Score bounds, integers 0 to 100. rsMin is compared against the low end of each listing’s published range.

revised_score is published as a range at every tier and revised_score_exact carries the integer, so any two listings are comparable.

bash
curl "https://getrevised.com/api/v1/domains?rsMin=60&rsMax=85" \
  -H "Authorization: Bearer $REVISED_API_KEY"

Every listing has a Revised Score, so unlike the other floors this one excludes nothing for being unknown.

source

Linking-source display name. Comma-separate for several. Case is preserved, unlike the other list parameters, so send the name as it appears on a row.

These are the recognisable sites that link to a listing — the same values that appear in the linked_from array. Observed examples: Hacker News, Wikipedia, Medium, United Nations, Cornell University, FCC. There is no endpoint that enumerates them; read them off linked_from.

bash
curl "https://getrevised.com/api/v1/domains?source=Hacker%20News,Wikipedia" \
  -H "Authorization: Bearer $REVISED_API_KEY"

tier

Which shelf. On this endpoint the only accepted value is open.

bash
curl "https://getrevised.com/api/v1/domains?tier=open&limit=250" \
  -H "Authorization: Bearer $REVISED_API_KEY"

tier=open is the cheapest slice of the directory to work with: open names are published on the Revised website anyway, so they arrive populated on every plan, revealing one spends nothing, and they are the only names you may republish. See Republication.

A single-value enum rather than a boolean, so the URL says what it selects. Rows come back carrying tier values of open, regular or featured; the filter selects open only. To select regular or featured, use the MCP search_domains tool, whose tier argument takes all three.

tld

Exact TLD without the leading dot — com, org, com.au. Comma-separate for several.

bash
curl "https://getrevised.com/api/v1/domains?tld=com.au,com&rsMin=50" \
  -H "Authorization: Bearer $REVISED_API_KEY"

traffic

Visitor-traffic band: how popular the site was with real visitors while it was live, from a monthly global top-1M list of the sites browser users visit. One of any, 100k or 1m. See visitor_traffic_band on a row.

bash
curl "https://getrevised.com/api/v1/domains?traffic=100k" \
  -H "Authorization: Bearer $REVISED_API_KEY"

trafficSustained

Boolean. Only sites that spent 12 or more months on that list (visitor_traffic_band.sustained).

Comma-separated lists

category, rd, source and tld take several values, comma-joined, and match any of them. An item the API cannot read is refused — the response names which item went and what one of that kind has to look like — rather than being dropped from the list.

Combining filters

Filters combine with AND. Start structural and narrow from there.

python
import os, requests

BASE = "https://getrevised.com/api/v1"
AUTH = {"Authorization": f"Bearer {os.environ['REVISED_API_KEY']}"}

res = requests.get(
    f"{BASE}/domains",
    headers=AUTH,
    params={
        "tier": "open",          # names disclosed on every plan, republishable
        "tld": "com",
        "rsMin": 60,
        "checkedDays": 30,       # confirmed unregistered in the last month
        "limit": 250,
    },
    timeout=30,
).json()

for row in res["data"]:
    print(row["id"], row["domain"], row["revised_score"], row["referring_domains"])
Output
text
82TJANWQ horriblevacuum.com {'low': 80, 'high': 90} 10-50
pWMKesJ8 isrsireland.com {'low': 70, 'high': 80} 10-50
8xFjgSgb brettinternationalsports.com {'low': 60, 'high': 70} 50-100

Real open-tier rows as of 23 September 2026. They will leave the directory as they are registered.

Every parameter on this page is also in the OpenAPI document, with its JSON Schema constraints.

Type to search…

↑↓ navigate↵ openesc close