API
JSON endpoints with examples.
Everything the site shows comes from these endpoints. Responses are JSON. Public endpoints need nothing. Endpoints tied to "your" data take a browser id in the x-client header (any random UUID you keep). Pro endpoints take your license key as a bearer token. Please stay under one request a second.
curl -H "Authorization: Bearer YOUR-LICENSE-KEY" "https://curatormatch.com/api/match?apps=1145350,974480"
Public
Steam games by name, with how many curators in my data posted about each.
Curators who covered up to 5 games, ranked. Free returns the top 5 and 8 unnamed rows; Pro returns all. risky=1 includes curators with several signs.
{ "total": 34, "risky": 87, "shown": 5, "pro": false,
"apps": [{ "appid": 1145350, "name": "Hades II", "curators": 61 }],
"results": [{ "clanid": 33075774, "name": "...", "followers": 11739, "hvPct": 87, "recs90": 9,
"hits": [{ "appid": 1145350, "state": 0, "ts": 1790000000 }],
"risk": { "points": 0, "level": "low", "reasons": [] }, "score": 14.2 }] }
One curator: numbers, warning signs with reasons, follower history, twins, recent posts.
Every post of the curator I've read, as CSV.
The directory with the same filters as /curators: q, genre, size (small, mid, big, huge), active (30, 90, 365), risk (low, some, high, nohigh), verified=1, sort (followers, active, recent, quality, signs, name, genre), page.
Curators who covered one game, with signs, and games covered by the same curators.
Every genre page with curator counts by warning level.
Site totals and freshness.
What the key log shows overall: totals, typical days to a post, rates by warning level.
Your data (x-client header)
Your logged keys, watched curators and notifications.
Log keys. Body: {"clanids": [1, 2], "appid": 2000000, "sentAt": "2026-11-02"}. Up to 50 curators at once, 60 a day.
Remove a log. Body: {"id": 123}.
Watch a curator. Body: {"clanid": 1}. DELETE to stop.
Pro (license key)
The full ranked list as CSV.
Saved searches. POST {"name", "appids"} to add; DELETE ?id= to remove.
Alert channels. POST {"kind": "discord|webhook|telegram", "target"}; DELETE ?id=; POST /api/alerts/test?id= to send a test.
Your private RSS URL. POST to make a new one.
Feeds
Weekly RSS: the games curators covered most.
Errors
Errors return a status code and {"error": "A sentence saying what went wrong."}. 400 bad input, 401 needs Pro, 404 unknown curator or game, 429 too many requests, 503 Steam is limiting my requests.