# Karma.Domains > Domain intelligence for humans and AI agents: 13M+ domains in the database, 40 auction sources, 90+ filters, 400,000+ new domains per day. Search auctions, expired, backorder, and buy-now inventory with SEO metrics, Wayback history, a Public REST API, and a hosted MCP server (31 tools). This file is a fuller, self-contained digest for agents and IDEs (llmstxt.org). For a short index of links, see [llms.txt](https://karma.domains/llms.txt). ## Product overview Karma.Domains is a domain intelligence platform. The same inventory powers the web app, Public API, CLI, webhooks, and MCP: - Bases: auctions, expired, backorder, buy-now (gTLDs and ccTLDs) - Reports combine available data from Ahrefs, Majestic, Moz, Semrush, SimilarWeb, the Wayback Machine, and other sources - Search uses 90+ filters (same field set in the app, REST, and MCP) - Free browser tools for common live checks; Pro unlocks API key access and deeper workflows Human docs: [home](https://karma.domains/en/), [about](https://karma.domains/en/about/), [updates](https://karma.domains/en/updates/), [help](https://karma.domains/en/help/). ## MCP server Hosted Model Context Protocol server for ChatGPT, Claude, Cursor, VS Code, and other MCP clients. | Item | Value | | ---- | ----- | | Transport URL | `https://mcp.karma.domains/mcp` (Streamable HTTP) | | Human docs | [Expired Domains MCP](https://karma.domains/en/expired-domains-mcp/) | | Server card | [/.well-known/mcp/server-card.json](https://karma.domains/.well-known/mcp/server-card.json) | | Registry metadata | [/.well-known/mcp/server.json](https://karma.domains/.well-known/mcp/server.json) | | Product skill | [karma-domains-mcp SKILL.md](https://karma.domains/.well-known/agent-skills/karma-domains-mcp/SKILL.md) | | Health | `https://mcp.karma.domains/health` (no auth) | | Tools | 31 | | Rate limit | 60 requests per minute per user (shared with Public API) | | List quota | 50,000 list rows/day (UTC) | | Live-tool quota | 200 non-cache live-tool calls/day (UTC); cache hits free | ### Authentication Two human paths share the same MCP transport: 1. **OAuth (ChatGPT, Claude.ai, and other OAuth MCP clients)** — add the MCP URL, choose OAuth / sign-in, and complete browser login on karma.domains. No API key paste. 2. **Own API key (Cursor, VS Code, and similar IDE clients)** — requires the Pro plan. Create or reset the key in [Profile → Developer](https://karma.domains/app/profile/developer/). Send `Authorization: Bearer YOUR_API_KEY` on every request. Same Bearer key works for the Public API and MCP. Agent/x402 access (USDC credits, no browser account) is documented in the [x402 commerce skill](https://karma.domains/.well-known/agent-skills/x402-commerce/SKILL.md) and [/.well-known/x402](https://mcp.karma.domains/.well-known/x402). ### What MCP does Connect once, then stay in chat. The server queries Karma.Domains and returns shortlists with report links. Typical workflows: - Screen expired domains by niche, metrics, TLD, and spam constraints - Catch auctions by platform, end date, price, and link metrics - Manage favorites, saved filters, notes/tags, guest share links, and SEO enrich jobs - Run live checks (availability, Karma Metric, DA/DR, WHOIS, DNS, traffic, spam score, and related tools) Prefer `search_reports` for structured search (same filter fields as the app / Public API). Call `instructions` before non-trivial searches for `agent_guide` and `filter_catalog`. For full details of a search hit use `get_report(report_type, report_id)`; use `get_domain` for an exact domain name. Do not call paid live checkers for data already in the report. ### MCP tools - **`instructions`** — Return agent_guide (filter heuristics, field names, YYYY-MM-DD dates), filter_catalog (exact category names, presets, auction sources), response JSON Schema, and field glossary. Useful before non-trivial search_reports and when building categories or auction_source. Optional for metric/TLD-only search, get_domain, favorites, or live checks. Free. - **`search_reports`** — Primary search tool. Search with a structured filter (same fields as the app / Public API). Omit unused fields; empty filter is allowed. Use for metrics, TLDs, bases, prices, niches mapped to fields, pagination, and refinements. Bases: domain_type (not report_type). Date filters are [YYYY-MM-DD, YYYY-MM-DD]. For categories / auction_source, exact values are in instructions.filter_catalog. Each item includes report_type + report_id; get_report returns the full stored report (same agent price as get_domain). Live checkers cost 8 agent credits per domain (1 Pro credit; cache hits free). Agent accounts: 1 credit per call; list-row quota also applies. - **`get_domain`** — Get a report for an exact domain name (no report_type parameter). Server priority: auctions → expired → backorder → buynow. Includes report_url, metrics, Wayback summary (no snapshot history). Agent accounts: 1 credit per call. - **`get_report`** — Get the full report by report_type + report_id from a search_reports (or get_domain) row. Same payload as get_domain. Returns stored report data at get_domain price; live checkers cost 8 agent credits per domain (1 Pro credit; cache hits free). Agent accounts: 1 credit per call. - **`get_user_profile`** — Return the authenticated user's profile: email, joined date, plans, subscription, and in-app news. balance is the total spendable credits (Pro task + Unlimited plan + purchased). pro_task_credits is the Pro pool breakdown. Includes server_version. No payment stats or API key. Free. - **`list_favorites`** — List the user's favorite reports across all bases (up to 10 per page). Each row includes report_url. Use add_favorite / remove_favorite to mutate. Agent accounts: 1 credit per call. - **`add_favorite`** — Add a report to favorites. report_type: auctions, expired, backorder, or buynow. report_id is the MongoDB document id from search or get_domain. Agent accounts: 1 credit per call. - **`remove_favorite`** — Remove a report from favorites. report_type: auctions, expired, backorder, or buynow. Agent accounts: 1 credit per call. - **`list_saved_filters`** — List the user's saved search filters (id, name, filter, optional bases). Free. - **`save_saved_filter`** — Create or replace a saved search filter by name. Returns id. filter uses the same fields as search_reports. Optional bases for newsletter digest. Agent accounts: 1 credit per call. - **`delete_saved_filter`** — Delete a saved search filter by name. Agent accounts: 1 credit per call. - **`list_annotation_tags`** — Distinct annotation tags for the current user (sorted). Use with search_reports filter.report_tags (Pro, AND). Free. - **`get_report_annotation`** — Get note and tags for a report. report_type: auctions, expired, backorder, or buynow. Free. - **`set_report_annotation`** — Set or clear report annotation (note max 200 chars, max 10 tags). Empty note and tags clears the annotation. Pro plan required. Agent accounts: 1 credit per call. - **`delete_report_annotation`** — Delete report annotation. Pro plan required. Agent accounts: 1 credit per call. - **`create_share_link`** — Create or reuse a guest share link (share_url, 60 days). Pro plan required. Agent accounts: 1 credit per call. - **`enrich_report_seo`** — Start paid SEO enrich job (Pro/Unlimited). Returns job_id; poll with get_enrich_report_seo_job. Charged on successful job only (22 agent credits). - **`get_enrich_report_seo_job`** — Poll SEO enrich job by job_id until status is done or failed. Free. - **`check_domain_expiry`** — Live check if a domain appears free for registration (WHOIS/DNS). available=true means likely free; false means registered. Does not update reports. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`check_expired_report`** — Check drop status for an expired-base report by report_id (updates the report). is_expired=true means the domain appears free. Re-check blocked for 3 hours. Agent accounts: 1 credit per call. - **`get_domain_karma_metric`** — Compute Karma Metric from Web Archive sparkline for a domain (live). Returns karma_metric 0-100 and components A_mass, A_cont, A_stab, A_trend. Does not update any report. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`domain_authority_checker`** — Live Domain Authority metrics (Ahrefs DR/UR, Moz DA/SS, Semrush AS, Karma Metric). One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`domain_age_checker`** — Live Wayback archive age: first/last snapshot timestamps and capture sparkline. One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`domain_expiry_checker`** — Live WHOIS/RDAP registration expiry (created/expires timestamps, days left, status). Different from check_domain_expiry which only returns available true/false. One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`backlink_checker`** — Live Moz backlink summary and sample backlinks. One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`anchor_text_checker`** — Live Moz anchor-text aggregation and word frequencies. One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`website_page_counter`** — Count unique page URLs from the site sitemap for a domain. One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`website_traffic_checker`** — Live SimilarWeb and Semrush traffic estimates for a domain. One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`dns_lookup`** — Live DNS lookup across public resolvers (A, AAAA, MX, NS, TXT, …). Optional dns_resolver: google, cloudflare, opendns, or quad9 (preferred tab). One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`whois_lookup`** — Live structured WHOIS/RDAP (registrar, contacts, nameservers, dates). One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). - **`spam_score_checker`** — Live Moz Spam Score plus DA, backlinks, and referring domains. One domain per call. Agent accounts: 5 credits per call (cache hits free); HTTP 402 if insufficient. Live-tool quota: 200 non-cache calls/day (UTC). Structured search is `search_reports` (and `instructions` for filter heuristics / catalog). ### Cursor connection (API key) ```json { "mcpServers": { "karma-domains": { "url": "https://mcp.karma.domains/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } } ``` OAuth clients discover Protected Resource Metadata after HTTP 401; consent is completed in the browser on karma.domains. Client-by-client steps: [MCP landing](https://karma.domains/en/expired-domains-mcp/). ## Public API REST JSON API for scripts, SDKs, n8n, CRMs, and dashboards. Same inventory and filter field names as the app and MCP. | Item | Value | | ---- | ----- | | Base URL | `https://api.karma.domains` | | Auth | `Authorization: Bearer YOUR_API_KEY` (Pro plan) | | Format | JSON over HTTPS | | Rate limit | 60 requests per minute per key (shared with MCP) | | List quota | 50,000 rows/day (UTC); `page_size` 1–100; `page × page_size ≤ 5000` | | Live-tool quota | 200 non-cache calls/day (UTC); cache hits free | | Human docs | [Expired Domains API](https://karma.domains/en/expired-domains-api/) | | OpenAPI | [https://karma.domains/openapi.json](https://karma.domains/openapi.json) / [https://api.karma.domains/openapi.json](https://api.karma.domains/openapi.json) | | Swagger UI | [https://api.karma.domains/docs](https://api.karma.domains/docs) | ### Key endpoints Reports: - `POST /v1/reports/search` — search across auctions, expired, backorder, buy-now - `GET /v1/reports/by-domain?domain=` — lookup by exact domain - `GET /v1/reports/report?report_type=&report_id=` — full report body - `GET /v1/reports/favorites` / `POST` / `DELETE` — favorites - `GET|PUT|DELETE /v1/reports/annotations` and `GET /v1/reports/annotations/tags` - `POST /v1/reports/share` — guest share link - `POST /v1/reports/{report_type}/{report_id}/enrich-seo` and `GET /v1/reports/enrich-jobs/{job_id}` - `GET /v1/reports/check/expired?report_id=` — expired-listing drop check Account: - `GET /v1/user` — profile and spendable balance - `GET|POST|PATCH|DELETE /v1/user/saved-filters` — saved search filters Live checkers (1 credit per domain unless cached; one domain per call): - `GET /v1/domains/checker/expiry` - `GET /v1/domains/checker/karma_metric` - `GET /v1/domains/checker/domain_authority` - `GET /v1/domains/checker/domain_age` - `GET /v1/domains/checker/registration_expiry` - `GET /v1/domains/checker/backlinks` - `GET /v1/domains/checker/anchors` - `GET /v1/domains/checker/pages` - `GET /v1/domains/checker/traffic` - `GET /v1/domains/checker/dns` - `GET /v1/domains/checker/whois` - `GET /v1/domains/checker/spam_score` Successful responses include `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset`. Over the cap: HTTP 429 and `Retry-After`. Related surfaces: [CLI](https://karma.domains/en/expired-domains-cli/), [webhooks](https://karma.domains/en/expired-domains-webhook/), [Python SDK](https://github.com/karma-domains/python-api-sdk), [TypeScript SDK](https://github.com/karma-domains/typescript-api-sdk). ## Free tools Browser tools (no signup for basic use): - [Domain Authority Checker](https://karma.domains/en/domain-authority-checker/) - [Domain Age Checker](https://karma.domains/en/domain-age-checker/) - [Domain Expiry Checker](https://karma.domains/en/domain-expiry-checker/) - [Backlink Checker](https://karma.domains/en/backlink-checker/) - [Anchor Text Checker](https://karma.domains/en/anchor-text-checker/) - [Spam Score Checker](https://karma.domains/en/spam-score-checker/) - [Website Traffic Checker](https://karma.domains/en/website-traffic-checker/) - [Website Page Counter](https://karma.domains/en/website-page-counter/) - [Website Cache Checker](https://karma.domains/en/website-cache-checker/) - [DNS Lookup](https://karma.domains/en/dns-lookup/) - [WHOIS Lookup](https://karma.domains/en/whois-lookup/) ## Domain lists Curated list pages under [Domain Lists](https://karma.domains/en/domain-list/), for example: - [Aged domains](https://karma.domains/en/domain-list/aged-domains/) - [Expired domains with traffic](https://karma.domains/en/domain-list/expired-domains-with-traffic/) - [Expired domains with backlinks](https://karma.domains/en/domain-list/expired-domains-with-backlinks/) - [Expired domain auction](https://karma.domains/en/domain-list/expired-domain-auction/) - [GoDaddy auctions](https://karma.domains/en/domain-list/godaddy-auctions/) - [DropCatch auctions](https://karma.domains/en/domain-list/dropcatch-auctions/) ## Agent discovery - [llms.txt](https://karma.domains/llms.txt) — short site overview - [API catalog](https://karma.domains/.well-known/api-catalog) — RFC 9727 linkset - [Agent skills index](https://karma.domains/.well-known/agent-skills/index.json) - [x402 well-known](https://api.karma.domains/.well-known/x402) - Help, blog, articles, about, contacts: send `Accept: text/markdown` on the page URL for a markdown version