API, webhooks and MCP.
The same new sites as the feed, in your own code, a spreadsheet tool or an assistant. They come with the Feed and API plan; make a key in your account.
Also as Markdown, for your assistant or your docs.
Authentication
Send your key on every call as Authorization: Bearer dnd_your_key. Making a new key stops the old one at once.
GET /api/v1/domains
List new domains. New domains with a live website, newest first, for any filter. The same rows the feed shows.
Access: Feed and API plan.
curl "https://dailynewdomains.com/api/v1/domains?tld=ai&q=legal&days=7" \ -H "Authorization: Bearer dnd_your_key"
qWords to find in the domain, the site title or its description. Up to 60 characters.
tldEndings, comma separated: ai, io, so, security, si. Leave out for all five.
hostHosting: cloudflare, vercel, godaddy, aws-route53, porkbun or squarespace.
mailMail: any (the domain receives mail at all), google_workspace, microsoft365 or custom (its own mail server).
days1, 2, 7 or 30. Default 1, the last 24 hours.
limitRows per page, 1 to 500. Default 100.
beforePages back: pass the next value from the previous page.
formatcsv for a spreadsheet instead of JSON.
A page of rows HTTP 200
{
"ok": true,
"filter": { "q": "legal", "tlds": ["ai"], "host": null, "mail": null, "days": 7 },
"total": 41,
"count": 41,
"domains": [
{
"domain": "memindex.ai",
"ending": ".ai",
"url": "https://memindex.ai",
"title": "MemIndex: a lasting memory for your AI agents",
"description": "Persistent memory for AI agents, with hosting that brings your memory to every machine and MCP client.",
"hosting": "cloudflare",
"mail": "custom",
"registrar": "Cloudflare, Inc",
"registered_on": "2026-10-13",
"first_seen": "2026-11-07T20:12:55.976Z"
}
],
"next": null
}hosting and mail are null when the domain has none yet. first_seen is when the domain was first seen as newly registered, in UTC. total counts every match; next is set when more pages remain.
GET /api/v1/stats
Counts for the last 24 hours. How many new live sites appeared in the last 24 hours, per ending.
Access: Feed and API plan.
curl "https://dailynewdomains.com/api/v1/stats" \ -H "Authorization: Bearer dnd_your_key"
Counts HTTP 200
{
"ok": true,
"since": "2026-11-06T21:00:00.000Z",
"total": 742,
"by_ending": { ".ai": 391, ".io": 288, ".so": 21, ".security": 6, ".si": 36 }
}GET /download/{day}.csv
Download a day. One UTC day as CSV, oldest first. Works in a browser too: no key, it reads your signed-in session.
Access: Yesterday is free for anyone (domain, ending, first_seen_utc). With a plan, any of the last 30 days, with title, description, hosting, mail, registrar, registered_on and url.
The file HTTP 200
domain,ending,first_seen_utc memindex.ai,.ai,2026-11-07 20:12:55 forensis.io,.io,2026-11-07 20:12:55
Webhooks
On the Feed and API plan, an alert can call your https address each time new sites match it, about once a minute while they arrive. We POST JSON and do not follow redirects; answer with any 2xx.
{
"alert": "9b41d07c2e8a4f1b6c3d5e7f",
"filter": ".ai matching \"legal\"",
"count": 1,
"domains": [
{
"domain": "memindex.ai",
"ending": ".ai",
"url": "https://memindex.ai",
"title": "MemIndex: a lasting memory for your AI agents",
"description": "Persistent memory for AI agents, with hosting that brings your memory to every machine and MCP client.",
"hosting": "cloudflare",
"mail": "custom",
"registrar": "Cloudflare, Inc",
"registered_on": "2026-10-13",
"first_seen": "2026-11-07T20:12:55.976Z"
}
]
}Errors
An error answers { "ok": false, "error": "<code>", "message": "..." }.
invalid_keyThe key is missing, mistyped, or was replaced by a new one.
no_planThe account has no Feed and API plan, or it has ended. Start or renew it on the pricing page.
Limits and pacing
- The data changes about once a minute, so polling more often than that returns the same rows.
- Use days and before to page through history instead of large limits, and keep to about 60 calls a minute.
- For new matches as they happen, use an alert with a webhook instead of polling.
- History goes back 30 days.
Use it from Claude, ChatGPT or Cursor
Add the MCP server once with your key, then ask in plain words: “which new .ai sites mention legal this week?”
{
"mcpServers": {
"dailynewdomains": {
"url": "https://dailynewdomains.com/api/mcp",
"headers": { "Authorization": "Bearer dnd_your_key" }
}
}
}search_new_domainsq, tld, host, mail, days, limit (all optional). New live sites for a filter, newest first, with title, hosting and mail.
new_domain_statsnone. How many new live sites appeared in the last 24 hours, per ending.