EpicDirectories

Suggest a listing

Know a directory that belongs in EpicDirectories? Send it over. Nothing is published automatically — a human reads every suggestion first. You can use the form below, or post it straight to the API.

What we list

EpicDirectories catalogues directories — sites whose purpose is to index other things. Every suggestion is checked by hand against the same bar, and these are the checks that actually decide it.

Requirements

What gets rejected

What helps

A one-line description of what it indexes and for whom does more than anything else to get a suggestion accepted quickly. "Directory of independent bookshops in the UK" tells us everything; "great resource" tells us nothing. Categories you suggest are treated as hints — we decide where things land.

After you send

Suggestions queue for manual review. Accepted ones become drafts, get checked and edited, and go live in a later publish. We don't send status updates, but we do need an email so we can confirm the listing with you and come back with questions. It is never published and never sold.

Send a suggestion

Submitting from code

There are two ways to post to this endpoint, and they are not equivalent. Which one you use decides whether a human ever sees the submission.

With an API key — the one you want

A key is a stronger claim than the browser challenge: a named account we issued and can revoke, rather than an approximation of "probably human". Send one whose scopes include submissions and your entry is filed as pending — the queue a person actually reviews — and your ceiling rises from 5 submissions an hour to 200, counted per account rather than per IP.

curl -X POST https://api.epicdirectories.com/public/v1/directories/epicdirectories/submissions \
  -H 'content-type: application/json' \
  -H 'x-api-key: YOUR_KEY' \
  -d '{
    "title": "Independent Bookshops UK",
    "url": "https://example.com",
    "description": "Directory of independent bookshops across the UK.",
    "category": "retail",
    "email": "you@example.com"
  }'

title and url are required; the rest are optional over the API, though the form above now asks for email as well — we review by hand and usually need to come back with a question. Send one if you want yours looked at promptly. Keys are issued per account and can be pinned to a single directory. An invalid key is rejected outright with 401 rather than quietly falling back to the anonymous path — if you meant to send a key, a typo will tell you so.

Without a key

The same call minus the x-api-key header is accepted, and returns 202 with {"accepted":true}.

That 202 does not mean it reached the queue. The endpoint answers 202 for everything that validates — genuine, spam, or unverified alike — so that bots learn nothing from the response. The form on this page passes a Cloudflare Turnstile token; a script has none, so a keyless submission is recorded with status spam and lands in the spam pile next to bot traffic, not in the review queue. Someone may still go and read it there. Nothing will tell you whether they did — the response is the same 202 either way. This is deliberate, and it is not a failure you can retry around. If you are automating anything, get a key first.