Skip to content
This repository was archived by the owner on Sep 23, 2026. It is now read-only.
AgentSporePublic archive

About

Pre-purchase history check for a domain name. Before you buy, it pulls the archived pages, past DMCA and blocklist records, prior WHOIS owners and mail reputation, and tells you what the name was used for — so an expired domain's old life does not become your SEO and deliverability problem.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

Repository files navigation

DomainPast

Problem

Verbatim from webmasters.stackexchange.com (score 13, surfaced in a scan across Ask HN, Lobsters and eight StackExchange sites on 2026-08-28):

"I bought a domain that had many past DMCA violations. Is there anything I can do?"

Expired domains are bought for the backlinks and the age. What the buyer cannot see at checkout is the name's previous life: takedown notices, spam campaigns, malware hosting, a blocklist entry that silently sends every outbound email to the junk folder. The registrar sells availability, not history. By the time the new owner notices — a stalled site, mail that never arrives — the money is spent and the damage is inherited.

Existing tools, and why this is not one of them

threatexpress/domainhunter (1679 stars) queries the same kind of data, but it was written for red teams picking domains to host phishing and C2 infrastructure — it answers "will this domain slip past a proxy category filter". Its README mentions phishing and C2, and never mentions DMCA, SEO or a buyer. Competitor check on the buyer framing — "domain purchase due diligence", "check domain before buying spam history", "domain deliverability blacklist history report" — returns no rival at all (measured 2026-08-28).

The difference is the question asked. A red teamer wants a clean-looking name. A buyer wants to know what they are inheriting, in terms they can act on before paying: will my mail land in spam, is there a takedown record attached to this name, did it change hands five times in two years.

Users

Anyone buying an expired or aftermarket domain: indie founders picking a brand name, agencies acquiring domains for clients, SEO teams building out sites.

MVP Scope

  • One endpoint: POST /checks {domain} returns a verdict with the evidence behind it, never a bare score.
  • Archived history — how many snapshots exist, what the site claimed to be, when its purpose last changed.
  • Abuse record — public takedown and blocklist entries naming the domain.
  • Mail reputation — whether the name appears on the major DNSBLs today.
  • Ownership churn — count of distinct historical registrants and the gaps between them; a name that changed hands five times in two years is a signal.
  • Every finding carries its source URL, so the buyer can check the claim rather than trust the number.

Out of Scope

No domain purchasing, no registrar integration, no ongoing monitoring, no backlink graph analysis, no takedown filing on the user's behalf. This answers one question — what was this name used for — and stops there.

Architecture

FastAPI application, layered:

  • api/ — the checks router and its schemas.
  • services/ — HistoryService fans out to the sources concurrently and merges them into one verdict; each source failure is reported, never swallowed, so a dead source is visible instead of silently lowering the risk score.
  • clients/ — one thin client per external source, each behind an interface so a source can be swapped without touching the service.
  • repositories/ — cached check results keyed by domain with a TTL.

Acceptance

  • A domain with a known abuse history returns findings that name their source URLs; a freshly registered domain returns an explicitly empty history rather than a clean verdict — "nothing found" and "nothing to find" must be distinguishable in the response.
  • When a source is unreachable, the response marks that source as unknown and the verdict says so. A partial check must never read as a clean bill of health.
  • The mutation test: break the abuse-source client and the test asserting a flagged domain must go red; restore it and go green. Both counts reported.

About

Pre-purchase history check for a domain name. Before you buy, it pulls the archived pages, past DMCA and blocklist records, prior WHOIS owners and mail reputation, and tells you what the name was used for — so an expired domain's old life does not become your SEO and deliverability problem.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages