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

GET/api/search?q=hades

Steam games by name, with how many curators in my data posted about each.

GET/api/match?apps=1145350,974480&risky=1

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 }] }
GET/api/curator/33075774

One curator: numbers, warning signs with reasons, follower history, twins, recent posts.

GET/api/curator/33075774/posts.csv

Every post of the curator I've read, as CSV.

GET/api/directory?genre=cozy&risk=low&sort=active&page=1

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.

GET/api/game/1145350

Curators who covered one game, with signs, and games covered by the same curators.

GET/api/genres

Every genre page with curator counts by warning level.

GET/api/stats

Site totals and freshness.

GET/api/log

What the key log shows overall: totals, typical days to a post, rates by warning level.

Your data (x-client header)

GET/api/me

Your logged keys, watched curators and notifications.

POST/api/sends

Log keys. Body: {"clanids": [1, 2], "appid": 2000000, "sentAt": "2026-11-02"}. Up to 50 curators at once, 60 a day.

DELETE/api/sends

Remove a log. Body: {"id": 123}.

POST/api/watch

Watch a curator. Body: {"clanid": 1}. DELETE to stop.

Pro (license key)

GET/api/match.csv?apps=1145350,974480

The full ranked list as CSV.

GET/api/saved

Saved searches. POST {"name", "appids"} to add; DELETE ?id= to remove.

GET/api/alerts

Alert channels. POST {"kind": "discord|webhook|telegram", "target"}; DELETE ?id=; POST /api/alerts/test?id= to send a test.

GET/api/feed

Your private RSS URL. POST to make a new one.

Feeds

GET/reports/week.xml

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.

Esc
↑ ↓ to moveEnter to open

Keyboard shortcuts

Anywhere

Search curators, games and pagesCtrlK or /
This list?
Homeg then h
Find curatorsg then f
Curator directoryg then c
Dashboardg then d
Account and settingsg then s

Search results

Next or previous curatorj / k
Open or close the detailsEnter or o
Add to or remove from the send listx
Close a dialog or menuEsc

Charts

Step through the points of a focused chart←→