ExpiredDomains.net does not have a public API. Its own FAQ says so directly, and the same page warns that automated access to the member area can lead to account closure. If your domain research has outgrown a browser workflow, the practical answer is to use a documented API built for automation.
Table of Contents
- Table of Contents
- The direct answer: ExpiredDomains.net has no API
- Why scraping the member area is a dead end
- What people usually want from an expired-domain API
- A supported alternative: Karma.Domains API
- Where the API saves real work
- ExpiredDomains.net and Karma.Domains API compared
- When ExpiredDomains.net is enough
- What a basic request looks like
- Frequently asked questions
- Test the recurring job first
The direct answer: ExpiredDomains.net has no API
If you searched for an ExpiredDomains.net API key and came up empty, you did not miss a hidden developer page. The service answers the question in its official FAQ: "There is no API, so no you can't."
That does not make ExpiredDomains.net a bad tool. It is one of the broadest free places to explore domain inventory by hand. The site currently lists 676 supported TLDs, along with expired, pending-delete, marketplace, and deleted domains. Its member area has extensive filters, saved searches, and a watchlist that can hold up to 20,000 domains. The official introduction to the member area explains those browser features well.
The limitation appears when a useful manual search turns into a recurring process. An agency may need the same filter set every morning for five clients. A PBN team may want new candidates routed to a review sheet. A developer may need domain data inside an internal application. Those jobs need a machine-readable interface, not another saved browser tab.
Why scraping the member area is a dead end
Scraping often comes up as the workaround when a site has no API. Here, the policy is unusually explicit.
The ExpiredDomains.net FAQ says an account may be closed if a program, script, tool, bot, crawler, or AI agent connects to the member area. It says there are no exceptions for any tool and that data mining can also lead to account closure. A scraper would put the account behind an automated workflow at risk by design.
There is a technical problem too. HTML is a presentation layer, not a stable data contract. A change to the login flow, form fields, pagination, or table markup can break a job overnight. The team then owns authentication, retries, deduplication, rate control, and constant repairs, with no published schema to tell it whether a field has changed meaning.
The same need shows up in domain forums. In one NamePros discussion, a user wanted to run saved searches every day and move the results into Google Sheets. Replies pointed out that actions on ExpiredDomains.net must be performed manually. Another thread about API alternatives came from a user looking for the day's expiring domains in a form software could consume.
These are ordinary workflow requests. They simply require a different interface.
What people usually want from an expired-domain API
The phrase "ExpiredDomains.net API" usually stands in for one of a few practical jobs:
- pull fresh expired or auction domains on a schedule;
- apply the same buying criteria every day;
- send a shortlist to Google Sheets, Notion, a CRM, or a database;
- screen a client, broker, or outreach list before paying for deeper checks;
- recheck availability and current metrics near the purchase decision;
- keep notes and evidence attached to each candidate.
All of these jobs need documented fields, predictable authentication, and limits a team can plan around. A browser export may help once. It is not the foundation for a maintained workflow.
A supported alternative: Karma.Domains API
I built Karma.Domains around the work between finding a domain and deciding whether it deserves money. The Karma.Domains Expired Domains API exposes the same inventory used by the web app: more than 13 million expired and auction domains across gTLDs and ccTLDs. The database processes 400,000+ new domains daily from 40+ sources, and searches can use more than 90 filters.
Reports combine available data from Ahrefs, Semrush, Moz, Majestic, Similarweb, the Wayback Machine, and other sources. They also include Karma.Domains history and risk signals. This lets a workflow reduce a large source list before somebody spends time and paid-tool credits on deep validation.
The API uses REST, JSON, HTTPS, and Bearer authentication. Request and response schemas are published through OpenAPI and Swagger. Current Pro limits are 60 requests per minute per key, shared with MCP; list requests can return up to 50,000 rows per day. Live tools have a separate allowance of 200 non-cached calls per day. Because these numbers can change, check the documentation before implementing a production job.
Where the API saves real work
Build a daily PBN or rebuild shortlist
Suppose a team's rule is stable: .com domains, several years of archive history, a minimum authority threshold, no obvious spam topics, and a price within budget. Rebuilding that search each morning is queue work.
A scheduled request can apply the same criteria and write only new candidates to a review sheet. The script records what it has already seen. A person opens the survivors, reviews the historical topic and backlink context, and makes the buying decision.
That division of labor is useful. Automation clears the repetitive part without pretending a score can approve a domain on its own.
Keep client auction queues separate
Agency searches vary by niche, country, budget, and tolerance for risk. Store each client's rules as a separate query, then add a client_id or campaign field when results enter the CRM.
The reviewer gets one normalized queue with the auction source, current price, end time, historical signals, and available SEO metrics. Nobody has to untangle a generic export after the auction inventory has moved on.
Screen a supplied list before expensive checks
A client or broker may send 500 domains. An outreach team may have hundreds of sites under consideration for link placement. Sending every name directly to Ahrefs or Semrush wastes budget on candidates that a cheaper first pass could reject.
The API can look for existing reports and return the available history and SEO fields. A workflow can remove obvious topic mismatches, toxic histories, suspicious redirects, or weak candidates. The remaining names go to specialist tools and an experienced reviewer.
Most Karma.Domains reports already include SEO data. If a report is missing a field the workflow needs, SEO Enrich can prioritize collecting that missing data. It belongs behind a condition, not in every request.
Run fresh checks close to the purchase
Stored data is efficient for broad screening. Availability, auction state, WHOIS, DNS, and third-party metrics can change, so live checks belong near registration or bidding.
Running live tools across an untouched source list spends credits on domains nobody will buy. Run them on the finalists, then save the result with the candidate.
Hand the evidence to another person
A row of scores is a weak handoff. The API can add annotations and tags to a report, then create a guest share URL. A colleague or client can see the history behind the recommendation without opening an account or asking why the domain passed.
ExpiredDomains.net and Karma.Domains API compared
The services overlap in domain discovery, but they support different working modes.
| Capability | ExpiredDomains.net | Karma.Domains API |
|---|---|---|
| Manual browser research | Yes | Yes, through the web app |
| Public REST API | No | Yes |
| JSON responses | No public interface | Yes |
| Search filters | Extensive website filters | 90+ API and app filters |
| Saved searches | Yes, in the member area | Saved filters plus API access |
| Scheduled queries | No official method | Yes, through your scheduler |
| Sheets, CRM, or database integration | No official method | Yes |
| Full domain reports | In the website | Available through API |
| Notes, tags, and report sharing | Watchlist and dislikes in the site | Annotations, tags, and guest share URLs |
| Automated member access | May lead to account closure | Supported within published API limits |
When ExpiredDomains.net is enough
For occasional research, ExpiredDomains.net may be all you need. It is free, broad, and good for exploring lists in a browser. Its saved searches and "Only new Domains" option can make a recurring manual check faster.
Its own documentation also advises users to validate data before buying because values and availability can change. That is sound advice for any domain source, including an API.
I would move to an API when the result has to leave the browser: a daily shortlist, several client queues, an internal dashboard, or a handoff that must be repeatable and auditable. Some teams can keep ExpiredDomains.net for manual exploration while using an official API for the automated part.
What a basic request looks like
The Karma.Domains search endpoint is POST /v1/reports/search. This small example asks for expired domains with a KarmaScore of at least 60:
curl -X POST "https://api.karma.domains/v1/reports/search?page=1&page_size=25" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"karmascore_min":60,"domain_type":["expired"]}'
The response contains a report list and total count. Depending on the domain, each item can include the report ID, KarmaScore, SEO metrics, Wayback fields, and auction data. Use the published schema for the full filter catalog rather than copying assumptions from a blog post into production code.
Frequently asked questions
Does ExpiredDomains.net have an API?
No. The official ExpiredDomains.net FAQ says the service has no API.
Can I get an ExpiredDomains.net API key?
No public API key is available. A member account provides access to the website, not an official programmatic interface.
Can I scrape ExpiredDomains.net?
The service says automated access to the member area and data mining may lead to account closure. Its wording explicitly includes programs, scripts, tools, bots, crawlers, and AI agents. I would not build a production workflow around scraping it.
Can I export ExpiredDomains.net data automatically?
There is no official API for automated exports. Use any manual export available inside your account as a manual feature, not as a stable interface for software.
What is a practical ExpiredDomains.net API alternative?
Use a documented domain-research API when you need programmable inventory search, JSON reports, live checks, saved filters, annotations, and share links. Karma.Domains provides those operations through its Public API.
Can I connect domain research to n8n, Google Sheets, or a CRM?
Yes. Any system that can send authenticated HTTPS requests and parse JSON can use the Karma.Domains API. Keep the domain-selection logic in the workflow and route only the shortlist to people.
Test the recurring job first
Start with one search your team already repeats. Create a Bearer key, run that filter set on a schedule, record the domains already reviewed, and send new matches to the system the team already uses. Add live checks and share links after the shortlist proves useful.
The Karma.Domains API documentation has the current fields, limits, SDK links, and Swagger console. The first run should make two things visible: which clicks the API can remove, and which decisions still need an experienced reviewer.