# MailRook API and MCP reference > MailRook verifies email addresses and enriches the domains behind them. A check says whether an address can receive mail — syntax, domain, MX and an SMTP mailbox check, with catch-all, disposable, role, free-provider and university flags and a 0–100 score. Enrichment says what the company behind a domain does (sector, niche, customer type, business model), plus its website, tech stack, company record, DNS and WHOIS. This file is the complete reference in one place, generated from the same source as https://mailrook.com/docs/api. The site index is at https://mailrook.com/llms.txt. Ways to use it: - REST API at `https://api.mailrook.com` with a Bearer API key. Single checks answer in real time; lists go in as a batch and are polled by list ID. - MCP server at `https://mcp.mailrook.com/mcp` (streamable HTTP, OAuth 2.1). An AI assistant connects with the user's MailRook sign-in; no API key is needed. - The web dashboard, for single checks and CSV/XLSX/TXT list uploads. - Free tools on the site for one-off checks without an account. ## Quick start ```bash curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.mailrook.com/v1/validate/user@example.com ``` ## Authentication Every request carries a Bearer token in the `Authorization` header: `Authorization: Bearer YOUR_API_KEY`. Create an API key on the dashboard at https://mailrook.com/validate/api after signing up at https://mailrook.com/account/signup. Base URL: `https://api.mailrook.com` Every response has the same envelope: `data`, a numeric `code` and a `message`. On success `code` is `0`; on failure it mirrors the HTTP status and `data` is `null`. ## Endpoints ### Validate a single email `GET /v1/validate/{email}` Validates one email address and returns detailed verification results. Typical response time is under 500ms. Path parameters: - `email` (string, required): The email address to validate (e.g. user@example.com) Query parameters: - `include` (string, optional): Comma-separated list of extra data to include. Currently supported: `enrichment`. When provided, an `enrichment` object is added to the response containing the same blocks as `/v1/enrich`. `fields` and `include=category_detail` work here too and apply to that block. Example request: ```bash curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.mailrook.com/v1/validate/user@example.com ``` Example response: ```json { "data": { "id": "673603dc-42da-474c-98cf-531ce11b1bf2", "email": "elon@x.com", "normalized_email": "elon@x.com", "username": "elon", "domain": "x.com", "mx_record": "aspmx.l.google.com", "provider": "google_workspace", "score": 80, "isv_format": true, "isv_domain": true, "isv_deliverable": true, "isv_nocatchall": false, "isv_nogeneric": true, "isv_nodisposable": true, "isv_nofreeemail": false, "isv_nouniversity": true, "result": "risky", "reason": "catch_all", "reason_label": "Catch-all domain (accepts all emails)", "email_security": [], "protection_level": "basic", "domain_info": { "has_spf": true, "has_dmarc": true, "has_website": true, "domain_age_days": 8450, "domain_created_at": "2003-03-17T00:00:00+00:00", "domain_expires_at": "2026-03-17T00:00:00+00:00", "registrar": "CSC Corporate Domains, Inc.", "registrant_org": "X Corp.", "registrant_country": "US", "ns_hosts": [ "ns1.p09.dynect.net", "ns2.p09.dynect.net" ], "a_record_ip": "104.244.42.193", "asn": "AS13414", "asn_org": "Twitter Inc.", "email_security": [], "protection_level": "basic" } }, "code": 0, "message": "ok" } ``` Example request with enrichment: ```bash curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.mailrook.com/v1/validate/user@example.com?include=enrichment ``` Example response with enrichment: ```json { "data": { "id": "673603dc-42da-474c-98cf-531ce11b1bf2", "email": "elon@x.com", "normalized_email": "elon@x.com", "username": "elon", "domain": "x.com", "mx_record": "aspmx.l.google.com", "provider": "google_workspace", "score": 80, "isv_format": true, "isv_domain": true, "isv_deliverable": true, "isv_nocatchall": false, "isv_nogeneric": true, "isv_nodisposable": true, "isv_nofreeemail": false, "isv_nouniversity": true, "result": "risky", "reason": "catch_all", "reason_label": "Catch-all domain (accepts all emails)", "email_security": [], "protection_level": "basic", "domain_info": { "has_spf": true, "has_dmarc": true, "has_website": true, "domain_age_days": 8450, "domain_created_at": "2003-03-17T00:00:00+00:00", "domain_expires_at": "2026-03-17T00:00:00+00:00", "registrar": "CSC Corporate Domains, Inc.", "registrant_org": "X Corp.", "registrant_country": "US", "ns_hosts": [ "ns1.p09.dynect.net", "ns2.p09.dynect.net" ], "a_record_ip": "104.244.42.193", "asn": "AS13414", "asn_org": "Twitter Inc.", "email_security": [], "protection_level": "basic" }, "enrichment": { "domain": "glossier.com", "website": { "url": "https://glossier.com", "title": "Glossier", "is_reachable": true, "is_crawl_blocked": false }, "tech_stack": { "cms": "wordpress", "ecommerce": null, "pixels": [ "meta_pixel" ], "analytics": [ "google_analytics" ], "marketing": [], "chat": [], "affiliate": [], "email_security": [ "proofpoint" ] }, "social_links": { "twitter": "glossier", "instagram": "glossier", "linkedin": "company/glossier" }, "company": { "name": "Glossier", "industry": "Cosmetics", "size": "201-500", "type": "Private", "founded": 2014, "city": "New York", "state": "NY", "country_code": "US" }, "category": { "level": "niche", "source": "website", "sector": "beauty", "sector_label": "Beauty & Personal Care", "niche": "beauty.makeup", "niche_label": "Makeup & colour cosmetics brand", "customer_type": "b2c", "customer_type_label": "Consumers", "tags": [ "sells_online", "d2c_brand" ], "tag_labels": [ "Sells online", "D2C brand" ], "confidence": 0.93, "reason": null, "reason_label": null, "checked_at": "2026-09-22T09:14:03+00:00", "taxonomy_version": "2026-09-22" }, "dns": { "has_spf": true, "has_dmarc": true, "ns_hosts": [ "ns1.example.com" ], "a_record_ip": "93.184.216.34", "asn": "AS15133", "asn_org": "Edgecast Inc." }, "whois": { "registrar": "RESERVED-Internet Assigned Numbers Authority", "registrant_org": "IANA", "registrant_country": "US", "domain_created_at": "1995-08-14T00:00:00+00:00", "domain_expires_at": "2025-08-13T00:00:00+00:00", "domain_age_days": 10818 } } }, "code": 0, "message": "ok" } ``` Response fields: - `id` (string): Unique identifier for this validation - `email` (string): The email address that was validated - `normalized_email` (string): Normalized form of the email (dots removed, +tags stripped, alias domains canonicalized) - `username` (string): Local part of the email (before @) - `domain` (string): Domain part of the email (after @) - `mx_record` (string|null): Primary MX record for the domain - `provider` (string|null): Detected email provider (e.g. gmail, google_workspace, microsoft_365, outlook, yahoo, protonmail, icloud, zoho, yandex, mailru, proofpoint, mimecast, aol, fastmail). Null if unknown. - `score` (integer): Overall quality score from 0 to 100 - `isv_format` (boolean): Email has valid syntax (RFC compliant) - `isv_domain` (boolean): Domain exists and has valid DNS records - `isv_deliverable` (boolean|null): Mail server accepts email for this address. Null if unable to verify. - `isv_nocatchall` (boolean|null): Domain is not a catch-all (accepts mail for any address) - `isv_nogeneric` (boolean): Not a generic/role address (e.g. info@, support@) - `isv_nodisposable` (boolean): Not a disposable/temporary email address - `isv_nofreeemail` (boolean): Not from a free email provider (e.g. Gmail, Yahoo) - `isv_nouniversity` (boolean): Not from an educational institution domain - `result` (string): Overall result: `deliverable`, `undeliverable`, `risky`, or `unknown` - `reason` (string): Reason code: `accepted_email`, `rejected_email`, `invalid_format`, `invalid_domain`, `disposable_email`, `catch_all`, `unable_to_verify`, `sender_blocked` - `reason_label` (string|null): Human-readable reason label (e.g. "Mailbox not found"). Null for accepted_email. - `email_security` (array): Email security gateways detected from MX records (e.g. `proofpoint`, `mimecast`, `barracuda`). Empty array if none detected. - `protection_level` (string): Synthesized email protection level: `none` (no gateway or DMARC enforcement), `basic` (SPF + strict DMARC policy), or `enterprise` (dedicated security gateway like Proofpoint or Mimecast). - `domain_info` (object|null): Domain WHOIS and DNS information. Null if domain data is not yet available. - `domain_info.has_spf` (boolean|null): Domain has an SPF record - `domain_info.has_dmarc` (boolean|null): Domain has a DMARC record - `domain_info.has_website` (boolean|null): Domain has a reachable website - `domain_info.domain_age_days` (integer|null): Domain age in days since registration - `domain_info.domain_created_at` (string|null): Domain registration date (ISO 8601) - `domain_info.domain_expires_at` (string|null): Domain expiration date (ISO 8601) - `domain_info.registrar` (string|null): Domain registrar - `domain_info.registrant_org` (string|null): Registrant organization - `domain_info.registrant_country` (string|null): Registrant country code - `domain_info.ns_hosts` (array|null): Nameserver hostnames - `domain_info.a_record_ip` (string|null): Primary A record IP address - `domain_info.asn` (string|null): Autonomous System Number - `domain_info.asn_org` (string|null): ASN organization name - `domain_info.email_security` (array): Email security gateways (same as top-level email_security) - `domain_info.protection_level` (string): Protection level (same as top-level protection_level) ### Submit a batch of emails `POST /v1/validate/batch` Submit an array of email addresses for bulk validation. Returns a list ID that you can poll for results. Request body: - `emails` (array of strings, required): Array of email addresses to validate Example request: ```bash curl -X POST \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emails": ["user@example.com", "test@gmail.com"]}' \ https://api.mailrook.com/v1/validate/batch ``` Example response (201 Created): ```json { "data": { "list_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "emails_count": 2 }, "code": 0, "message": "ok" } ``` Response fields: - `list_id` (string): Unique identifier for the batch job - `emails_count` (integer): Total number of emails submitted ### Upload a file for batch validation `POST /v1/validate/batch/upload` Upload a CSV or TXT file containing one email per line. Maximum file size is 10 MB. Request body (multipart/form-data): - `file` (file, required): A .csv or .txt file with one email address per line (max 10 MB) Example request: ```bash curl -X POST \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@emails.csv" \ https://api.mailrook.com/v1/validate/batch/upload ``` Example response: ```json { "data": { "list_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "emails_count": 150 }, "code": 0, "message": "ok" } ``` Response fields: - `list_id` (string): Unique identifier for the batch job - `emails_count` (integer): Total number of emails submitted ### Get batch results `GET /v1/validate/list/{list_id}` Retrieve the results of a batch validation. Returns `202` while processing is in progress and `200` when complete. Path parameters: - `list_id` (string (UUID), required): The list ID returned from the batch submit or upload endpoint Example request: ```bash curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.mailrook.com/v1/validate/list/a1b2c3d4-e5f6-7890-abcd-ef1234567890 ``` Response while processing (202): ```json { "data": [], "code": 0, "message": "List is still processing: 45 of 100 emails done" } ``` Example response: ```json { "data": [ { "email": "user@example.com", "isv_format": true, "isv_domain": true, "isv_deliverable": true, "isv_nocatchall": true, "isv_nogeneric": true, "isv_nodisposable": true, "isv_nofreeemail": true, "isv_nouniversity": true, "protection_level": "enterprise" } ], "code": 0, "message": "ok" } ``` Response fields: - `list_id` (string): Unique identifier for the batch job - `email` (string): The email address - `isv_*` (boolean): Validation check results (same as single validation) - `protection_level` (string): Email protection level: none, basic, or enterprise ### Enrich a domain or email `GET /v1/enrich/{input}` Everything we know about the company behind a domain, without running a deliverability check: what it sells (`category`), its website and tech stack, the company record, DNS and WHOIS. Results are stored, so the same domain returns the same answer instantly on the next call. Path parameters: - `input` (string, required): An email address (e.g. user@example.com) or domain (e.g. example.com). When an email is provided, the domain is extracted automatically. Query parameters: - `fields` (string, optional): Comma-separated list of blocks to return: `website, tech_stack, social_links, company, category, dns, whois`. Omit it and you get all of them. A block you leave out is absent from the response rather than null — and leaving out `category` is the one that makes a call measurably faster, because it is the only block behind a classifier call. An unknown value is a `422`, so a typo never silently bills you for work you tried to skip. - `include` (string, optional): Set to `category_detail` to add `category.detail`: the probabilities, the runner-up niches and the per-tag scores behind the verdict, for callers who want to apply their own thresholds. Absent (null) when the category did not come from the website. Example request: ```bash curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.mailrook.com/v1/enrich/glossier.com ``` Example response: ```json { "data": { "domain": "glossier.com", "website": { "url": "https://glossier.com", "title": "Glossier", "is_reachable": true, "is_crawl_blocked": false }, "tech_stack": { "cms": "wordpress", "ecommerce": null, "pixels": [ "meta_pixel" ], "analytics": [ "google_analytics" ], "marketing": [], "chat": [], "affiliate": [], "email_security": [ "proofpoint" ] }, "social_links": { "twitter": "glossier", "instagram": "glossier", "linkedin": "company/glossier" }, "company": { "name": "Glossier", "industry": "Cosmetics", "size": "201-500", "type": "Private", "founded": 2014, "city": "New York", "state": "NY", "country_code": "US" }, "category": { "level": "niche", "source": "website", "sector": "beauty", "sector_label": "Beauty & Personal Care", "niche": "beauty.makeup", "niche_label": "Makeup & colour cosmetics brand", "customer_type": "b2c", "customer_type_label": "Consumers", "tags": [ "sells_online", "d2c_brand" ], "tag_labels": [ "Sells online", "D2C brand" ], "confidence": 0.93, "reason": null, "reason_label": null, "checked_at": "2026-09-22T09:14:03+00:00", "taxonomy_version": "2026-09-22" }, "dns": { "has_spf": true, "has_dmarc": true, "ns_hosts": [ "ns1.example.com" ], "a_record_ip": "93.184.216.34", "asn": "AS15133", "asn_org": "Edgecast Inc." }, "whois": { "registrar": "RESERVED-Internet Assigned Numbers Authority", "registrant_org": "IANA", "registrant_country": "US", "domain_created_at": "1995-08-14T00:00:00+00:00", "domain_expires_at": "2025-08-13T00:00:00+00:00", "domain_age_days": 10818 } }, "code": 0, "message": "ok" } ``` Response fields: see "Enrichment fields" below. ### List the company categories `GET /v1/taxonomy/company-categories` The full value list behind the `category` block: every sector, every niche, every business-model tag and every customer type, with a human label and a one-line description each. Static, free, and unmetered — fetch it once to build a dropdown or a set of CRM properties. `version` changes only when a key is added, renamed or removed, so compare it against the `taxonomy_version` on any enrichment response to know whether your copy is current. Example request: ```bash curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.mailrook.com/v1/taxonomy/company-categories ``` Example response: ```json { "data": { "version": "2026-09-22", "sector_count": 25, "niche_count": 224, "sectors": [ { "key": "beauty", "label": "Beauty & Personal Care", "description": "… (one line per sector)", "niches": [ { "key": "beauty.skincare", "label": "Skincare brand", "description": "… (one line per niche)" }, { "key": "beauty.retailer", "label": "Multi-brand beauty retailer", "description": "…" }, "… 11 more" ] }, "… 24 more sectors" ], "tags": [ { "key": "d2c_brand", "label": "D2C brand", "description": "…" }, "… 12 more" ], "customer_types": [ { "key": "b2c", "label": "Consumers", "description": "Sells mainly to individual consumers and households" }, { "key": "b2b", "label": "Businesses", "description": "…" }, { "key": "both", "label": "Consumers and businesses", "description": "…" }, { "key": "not_applicable", "label": "Not a seller", "description": "…" } ] }, "code": 0, "message": "ok" } ``` Response fields: - `version` (string): Date of the last change to any key. Changes only when a sector, niche or tag key is added, renamed or removed — never for a reworded label. Compare against category.taxonomy_version. - `sector_count` (integer): Number of sectors. - `niche_count` (integer): Number of niches across all sectors. - `sectors[].key` (string): Sector key, as returned in category.sector. - `sectors[].label` (string): Human name for the sector. - `sectors[].description` (string): What the sector covers. - `sectors[].niches[].key` (string): Niche key in `sector.niche` form, as returned in category.niche. The sector is always the part before the dot. - `sectors[].niches[].label` (string): Human name for the niche. - `sectors[].niches[].description` (string): What the niche covers, and which neighbouring niche it is not. - `tags[].key` (string): Business-model tag key, as returned in category.tags. - `tags[].label` (string): Human name for the tag. - `tags[].description` (string): What it means for a company to carry this tag. - `customer_types[].key` (string): Customer type key, as returned in category.customer_type. - `customer_types[].label` (string): Human name. - `customer_types[].description` (string): Who the company sells to. ## Enrichment fields The enrichment object is returned by `/v1/enrich/{input}`, and added to a validation response as `enrichment` with `?include=enrichment`. - `domain` (string): The domain that was enriched - `category.level` (string): How precisely the company was placed, and therefore which of the two keys below you can trust: `niche` (both), `sector` (sector only — two neighbouring niches split the vote), `unclear` (neither; see reason). Nothing is forced into a category to look complete. - `category.source` (string): What the answer was read from. `website`: the company's own homepage, the answer you want. `domain_name`: no usable page text, but the brand was recognised from the domain. `company_record`: the homepage said nothing, so the industry on our imported company record was mapped onto this taxonomy — coarser and older, never more than a sector or an obvious niche. `none`: nothing placed it. - `category.sector` (string|null): Sector key, e.g. `beauty`. The value a CRM "Industry" field wants. Null when level is unclear. - `category.sector_label` (string|null): Display name, e.g. "Beauty & Personal Care". Labels can be reworded; store and filter on the key. - `category.niche` (string|null): Niche key in `sector.niche` form, e.g. `beauty.skincare` — the sub-segment a sequence is written for. Set only when level is `niche`. - `category.niche_label` (string|null): Display name, e.g. "Skincare brand". - `category.customer_type` (string|null): Who they sell to: `b2c`, `b2b` or `both`. Null when unclear, and always null for a company_record answer, which carries no evidence about customers. - `category.customer_type_label` (string|null): Display name: "Consumers", "Businesses", "Consumers and businesses". - `category.tags` (array): Business-model tag keys that apply, e.g. `["sells_online", "d2c_brand"]`. Independent of the sector and of each other: a D2C skincare brand and Sephora share a sector, and this is what separates them. Empty for a company_record answer. - `category.tag_labels` (array): The same tags as display names, in the same order. - `category.confidence` (number|null): 0–1 confidence in the niche. Null for a company_record answer — a lookup table has no probability behind it, and inventing one would invite comparison with a number that means something else. - `category.reason` (string|null): Why nothing was placed, when level is unclear: `crawl_blocked`, `no_website`, `parked_page`, `personal_site`, `weak_homepage`, `too_vague`, `classifier_unavailable`. The last one is temporary and worth retrying; the others are about the site itself. - `category.reason_label` (string|null): The same reason as a sentence you can show a user. - `category.checked_at` (string|null): When this category was determined (ISO 8601). Stored, so a repeat call returns the same answer and the same timestamp until the homepage is crawled again. - `category.taxonomy_version` (string): Version of the key list this answer uses. Compare with `/v1/taxonomy/company-categories`. - `category.detail` (object|null): Only with `?include=category_detail`. Carries `basis`, `evidence_score`, `niche_probability`, `sector_probability`, the top three `candidates` and a probability per tag in `signals`, for applying your own thresholds. Null unless source is website or domain_name. - `website.url` (string|null): Resolved website URL - `website.title` (string|null): Page title from the website - `website.is_reachable` (boolean): Whether the website is reachable - `website.is_crawl_blocked` (boolean): Whether crawling is blocked by the website - `tech_stack.cms` (string|null): Detected CMS (e.g. wordpress, shopify) - `tech_stack.ecommerce` (string|null): Detected e-commerce platform - `tech_stack.pixels` (array): Tracking pixels detected (e.g. meta_pixel, tiktok_pixel) - `tech_stack.analytics` (array): Analytics tools (e.g. google_analytics, hotjar) - `tech_stack.marketing` (array): Marketing tools (e.g. hubspot, mailchimp) - `tech_stack.chat` (array): Chat/support widgets (e.g. intercom, zendesk) - `tech_stack.affiliate` (array): Affiliate/referral tools - `tech_stack.email_security` (array): Email security providers detected from MX records (e.g. proofpoint, mimecast) - `social_links` (object|null): Social media handles found on the website. Keys: twitter, instagram, facebook, youtube, tiktok, linkedin, github. Values are normalized handles/paths (e.g. "acme", "company/acme", "@acme"). - `company.name` (string|null): Company name - `company.industry` (string|null): Industry classification - `company.size` (string|null): Employee count range (e.g. 51-200) - `company.type` (string|null): Company type (e.g. Private, Public) - `company.founded` (integer|null): Year founded - `company.city` (string|null): City - `company.state` (string|null): State or region - `company.country_code` (string|null): ISO 3166-1 alpha-2 country code - `dns.has_spf` (boolean|null): Domain has an SPF record - `dns.has_dmarc` (boolean|null): Domain has a DMARC record - `dns.ns_hosts` (array|null): Nameserver hostnames - `dns.a_record_ip` (string|null): Primary A record IP address - `dns.asn` (string|null): Autonomous System Number - `dns.asn_org` (string|null): ASN organization name - `whois.registrar` (string|null): Domain registrar - `whois.registrant_org` (string|null): Registrant organization - `whois.registrant_country` (string|null): Registrant country code - `whois.domain_created_at` (string|null): Domain registration date (ISO 8601) - `whois.domain_expires_at` (string|null): Domain expiration date (ISO 8601) - `whois.domain_age_days` (integer|null): Domain age in days since registration ### Third-party enrichment providers Both enrichment calls accept provider API keys in an `X-Enrich-Providers` header, as a JSON object such as `{"snov": "your-snov-api-key"}`. Provider keys are used for that request only and never stored. ## Company categories The `category` block answers four separate questions about the company behind a domain, read from its own homepage: `sector` (what industry), `niche` (what sub-segment, keyed `sector.niche`), `customer_type` (who they sell to) and `tags` (independent business-model flags). Store and filter on the keys; the `*_label` fields are display strings and may be reworded. `taxonomy_version` (currently `2026-09-22`) changes only when a key is added, renamed or removed. The same list is served as JSON by `GET /v1/taxonomy/company-categories`. ### category.level — read this first - `niche`: Both `sector` and `niche` are set and safe to route on. Around 90% of domains with a readable homepage land here. - `sector`: `sector` is set, `niche` is null: two neighbouring niches split the vote — a soap-and-skincare brand, a furniture maker that is also a store. Use the sector; `?include=category_detail` names both candidates if you want to pick one. - `unclear`: Neither is set, and `reason` says why. Better an honest blank than a wrong industry in your CRM. A `classifier_unavailable` reason is the only temporary one — retry that domain later. ### category.source - `website`: Read from the company's own homepage — title, description, headlines, first paragraph. The answer you want, and the most current description of the business that exists. - `domain_name`: The site blocked our crawler or had no usable text, but the brand was recognised from the domain itself. Held to a stricter confidence bar than a page read, because there is nothing to check it against. - `company_record`: The homepage said nothing usable, so the LinkedIn-style industry on our company record was mapped onto this taxonomy. A fallback: coarser, older, usually sector-level, and always with `confidence: null`, `tags: []` and `customer_type: null`, because an industry label is no evidence about those. - `none`: Nothing placed it. `level` is `unclear` and `reason` says why. ### Customer types - `b2c` (Consumers): Sells mainly to individual consumers and households - `b2b` (Businesses): Sells mainly to businesses, professionals, institutions or government - `both` (Consumers and businesses): Clearly sells to both consumers and businesses (e.g. consumer brand with a wholesale/trade programme, bank with retail and business banking) - `not_applicable` (Not a seller): Not a seller: government, personal page, community, parked domain, or cannot tell ### Business-model tags - `sells_online` (Sells online): The site itself sells: product pages with prices, add-to-cart, checkout, or paid online booking. An e-commerce platform such as Shopify or WooCommerce in `tech` is strong evidence. - `d2c_brand` (D2C brand): Own-brand physical goods (cosmetics, apparel, food, gadgets, supplements) sold to shoppers on the brand's own site, whether or not also sold in stores. - `multibrand_retailer` (Multi-brand retailer): Multi-brand shop, marketplace, department store, pharmacy chain, grocery, distributor: most products carry other companies' brand names. - `marketplace` (Marketplace): Third-party sellers, creators, hosts, drivers or vendors list on it (Etsy, Airbnb, Upwork, Amazon Marketplace). - `saas` (SaaS): Software product with plans, pricing, login, features, integrations, or API as the core offering. - `mobile_app` (Mobile app): The site mainly promotes downloading its app; the app is the product. - `services_agency` (Services / agency): Agencies, consultants, law or accounting firms, studios, contractors, freelancers, clinics, salons. - `manufacturer_wholesale` (Manufacturer / wholesale): Factory, contract manufacturer, ingredients supplier, wholesale-only, "trade customers", minimum order quantities, industrial catalogue. - `local_physical_business` (Physical locations): Addresses, opening hours, "visit us", store locator, local city named as the service area, appointments in person. - `nonprofit_public` (Nonprofit / public): Charity, NGO, foundation, public agency, municipality, public school or university, religious organisation, association. - `restricted_category` (Restricted category): Pornography, casino or betting, cigarettes or vapes, cannabis or CBD products, guns and ammunition, crypto trading or tokens. - `natural_clean_positioning` (Natural / clean): Natural/organic/clean/vegan/non-toxic is the headline claim across the range (clean beauty, organic food, natural deodorant). - `premium_luxury` (Premium / luxury): Luxury language, high prices, designer, couture, bespoke, prestige, "finest", flagship boutiques. ### Sectors and niches (25 sectors, 224 niches) #### Beauty & Personal Care (`beauty`) Cosmetics, skincare, hair, fragrance, grooming, and the salons, retailers and tools around them - `beauty.skincare` (Skincare brand): Skincare brand: cleansers, serums, moisturisers, sunscreen, acne or anti-ageing products it makes or owns - `beauty.makeup` (Makeup & colour cosmetics brand): Makeup / colour cosmetics brand: foundation, lipstick, mascara, eyeshadow, brushes - `beauty.haircare` (Haircare brand): Haircare brand: shampoo, conditioner, styling, hair colour, hair tools sold under its own brand - `beauty.fragrance` (Fragrance brand): Perfume and fragrance brand or perfumery - `beauty.nails` (Nail products or salon): Nail polish, gel, nail care products or nail salon - `beauty.bath_body` (Bath & body brand): Bath and body: soap, body lotion, deodorant, shaving, intimate care, bath products - `beauty.mens_grooming` (Men's grooming brand): Grooming products made for men: beard care, razors, men's skincare or hair products - `beauty.oral_care` (Oral care brand): Toothpaste, toothbrushes, whitening, oral hygiene products - `beauty.beauty_devices` (Beauty tools & devices): Beauty tools and devices: hair removal devices, LED masks, facial tools, hair dryers, straighteners - `beauty.professional_salon_supply` (Professional / salon supply (B2B)): Products or equipment sold to salons, barbers, spas and beauty professionals (B2B) - `beauty.salon_spa_services` (Salon, spa or aesthetic clinic): Hair salon, barbershop, spa, nail bar, lash/brow studio or aesthetic clinic offering treatments in person - `beauty.retailer` (Multi-brand beauty retailer): Shop or marketplace selling MANY beauty brands (Sephora, Ulta, Cult Beauty), not its own brand - `beauty.beauty_media` (Beauty media or influencer): Beauty magazine, blog, review site, community or beauty influencer #### Fashion & Apparel (`fashion`) Clothing, footwear, jewellery, bags, eyewear brands and the retailers that sell them - `fashion.womenswear` (Womenswear brand): Clothing brand mainly for women - `fashion.menswear` (Menswear brand): Clothing brand mainly for men - `fashion.unisex_streetwear` (Streetwear / lifestyle apparel brand): Streetwear, unisex, casual basics or lifestyle clothing brand - `fashion.kidswear` (Kidswear brand): Clothing for babies, children or teens - `fashion.activewear` (Activewear & sportswear brand): Activewear, athleisure, gym wear, yoga wear, sports apparel and sneakers brand (Nike, Lululemon, Gymshark) - `fashion.lingerie_swimwear` (Lingerie, loungewear or swimwear brand): Lingerie, underwear, loungewear, sleepwear or swimwear - `fashion.footwear` (Footwear brand): Shoes and boots brand (not primarily sports sneakers) - `fashion.jewelry` (Jewellery brand): Jewellery brand or jeweller: rings, necklaces, earrings, fine or fashion jewellery - `fashion.watches` (Watch brand): Watch brand or watchmaker - `fashion.bags_accessories` (Bags & accessories brand): Bags, wallets, belts, hats, scarves, luggage or small leather goods - `fashion.eyewear` (Eyewear brand or optician): Glasses, sunglasses, contact lenses brand or optician - `fashion.luxury_house` (Luxury fashion house): Luxury fashion house or designer label spanning clothing, bags and accessories (Gucci, Prada) - `fashion.sustainable_resale` (Resale, rental or vintage platform): Second-hand, resale, rental or vintage clothing platform - `fashion.retailer` (Multi-brand fashion retailer): Shop or marketplace selling MANY fashion brands (Zalando, ASOS, Nordstrom) - `fashion.fashion_media` (Fashion media or influencer): Fashion magazine, blog, styling service or fashion influencer #### Health & Medical (`health`) Healthcare providers, pharma, biotech, medical devices, and digital health - `health.hospital_clinic` (Hospital or clinic): Hospital, medical practice, clinic, urgent care or physician group treating patients - `health.dental` (Dental practice or products): Dental practice, orthodontics or dental products - `health.pharma_biotech` (Pharma / biotech): Pharmaceutical or biotech company developing or making drugs, vaccines, therapies - `health.medical_devices` (Medical devices & diagnostics): Medical devices, diagnostics, lab equipment, hospital supplies - `health.telehealth_digital_health` (Telehealth / digital health): Online doctor visits, prescription delivery, symptom apps, remote monitoring - `health.mental_health` (Mental health services): Therapy, counselling, psychiatry, mental-health apps or platforms - `health.pharmacy` (Pharmacy): Pharmacy or drugstore chain, online pharmacy - `health.healthcare_software` (Healthcare software): Software sold to hospitals, clinics, payers or pharma (EHR, practice management, clinical tools) - `health.health_insurance` (Health insurance): Health insurance plans or benefits administration - `health.senior_home_care` (Senior & home care): Nursing homes, assisted living, home care, hospice - `health.medical_aesthetics` (Medical aesthetics / medspa): Botox, fillers, laser, cosmetic surgery, medspa run by clinicians #### Fitness, Wellness & Nutrition (`wellness`) Supplements, fitness, yoga, sleep, sexual wellness and related consumer wellness products and services - `wellness.supplements` (Supplements & nutrition brand): Vitamins, supplements, protein powder, sports nutrition, collagen, gummies brand - `wellness.gym_studio` (Gym or fitness studio): Gym, fitness studio, boxing/yoga/pilates/cycling studio with physical locations - `wellness.fitness_equipment` (Fitness equipment brand): Home gym equipment, treadmills, bikes, weights, fitness trackers (Peloton, Bowflex) - `wellness.fitness_app_coaching` (Fitness app or online coaching): Workout app, online personal training, fitness programme or streaming classes - `wellness.yoga_meditation` (Yoga, meditation & mindfulness): Yoga, meditation, mindfulness, breathwork products or apps (Headspace, Calm) - `wellness.sexual_wellness` (Sexual wellness brand): Sex toys, intimacy products, sexual health brand - `wellness.cbd_cannabis` (CBD / cannabis): CBD, hemp or cannabis products or dispensary - `wellness.sleep_recovery` (Sleep & recovery products): Sleep aids, mattresses marketed for wellness, massage guns, recovery, sauna, cold plunge - `wellness.weight_management` (Weight management): Diet programmes, weight-loss plans, GLP-1 clinics, nutrition coaching - `wellness.wellness_spa` (Spa & wellness centre): Day spa, massage, wellness retreat, float or sauna centre #### Food & Beverage (`food`) Packaged food, drinks, alcohol, restaurants, delivery and grocery - `food.packaged_food` (Packaged food & snacks brand): Packaged food or snack brand: chips, bars, cereal, sauces, frozen, pantry goods (CPG) - `food.confectionery_bakery` (Confectionery & bakery): Chocolate, candy, sweets, bakery, cakes, cookies - `food.beverages` (Beverage brand (non-alcoholic)): Non-alcoholic drinks brand: soda, juice, water, energy drinks, functional drinks - `food.coffee_tea` (Coffee & tea brand): Coffee roaster, coffee brand, tea brand, coffee equipment - `food.alcohol` (Beer, wine & spirits): Beer, wine, spirits, cider, hard seltzer producer or brand, winery, distillery, brewery - `food.restaurant` (Restaurant, cafe or bar): Restaurant, cafe, bar, fast food chain, food truck, ghost kitchen - `food.meal_kits_delivery` (Meal kits & food delivery): Meal kits, prepared meal subscription, food delivery platform, grocery delivery - `food.grocery_specialty_retail` (Grocery & specialty food retail): Supermarket, grocery chain, online grocer, specialty food store selling many food brands - `food.baby_food` (Baby food brand): Baby formula, baby food, toddler snacks - `food.plant_based_alt` (Plant-based food brand): Plant-based meat, dairy alternatives, vegan food brand - `food.food_manufacturing_b2b` (Food manufacturing & ingredients (B2B)): Food ingredients, food processing, private-label manufacturing, agri-food supply sold to businesses - `food.catering_foodservice` (Catering & food service): Catering, corporate food service, event food, hospitality supply #### Home, Garden & Living (`home`) Furniture, decor, kitchen, bedding, appliances, home improvement, garden, cleaning - `home.furniture` (Furniture brand or store): Furniture brand or store: sofas, tables, beds, office furniture - `home.decor` (Home decor brand): Home decor, wall art, rugs, lighting, candles, home fragrance - `home.kitchen_tableware` (Kitchen & tableware brand): Cookware, knives, small kitchen gadgets, dinnerware, drinkware, bottles - `home.bedding_bath` (Bedding & bath brand): Bedding, sheets, pillows, mattresses (as a product), towels, bath textiles - `home.appliances` (Home appliances brand): Home appliances: vacuums, washers, fridges, air purifiers, coffee machines - `home.home_improvement` (Home improvement & DIY): DIY, hardware, tools, flooring, paint, bathroom and kitchen fitting - `home.garden_outdoor` (Garden & outdoor living): Garden, plants, seeds, outdoor furniture, grills, pools, lawn care - `home.cleaning_household` (Cleaning & household products): Cleaning products, laundry, household consumables, storage and organisation - `home.home_services` (Home services (trades, cleaning, moving)): Cleaning services, plumbers, electricians, movers, handymen, pest control, landscaping - `home.home_retailer` (Multi-brand home retailer): Store or marketplace selling MANY home brands (Wayfair, IKEA, Bed Bath & Beyond) #### Consumer Electronics & Hardware (`electronics`) Devices, gadgets, audio, computers, cameras, smart home and their retailers - `electronics.audio` (Audio brand): Headphones, earbuds, speakers, hi-fi, audio brand - `electronics.wearables` (Wearables brand): Smartwatches, fitness bands, smart rings, wearable devices - `electronics.phones_accessories` (Phones & mobile accessories): Smartphones, phone cases, chargers, cables, mobile accessories - `electronics.computers_peripherals` (Computers & peripherals): Laptops, PCs, monitors, keyboards, mice, computer components - `electronics.cameras_drones` (Cameras & drones): Cameras, lenses, action cams, drones, photography gear - `electronics.smart_home` (Smart home devices): Smart home devices, security cameras, smart lighting, thermostats, robot vacuums - `electronics.gaming_hardware` (Gaming hardware): Gaming consoles, gaming PCs, controllers, gaming peripherals and chairs - `electronics.ev_micromobility` (E-bikes & micromobility): E-bikes, e-scooters, electric skateboards and personal mobility devices - `electronics.electronics_retailer` (Multi-brand electronics retailer): Store selling MANY electronics brands (Best Buy, B&H, Newegg) - `electronics.hardware_b2b` (Components & hardware (B2B)): Semiconductors, components, networking hardware, industrial electronics sold to businesses #### Gaming & Entertainment (`gaming`) Video games, esports, streaming, music, film, live events, gambling - `gaming.game_studio_publisher` (Game studio or publisher): Video game developer or publisher (PC, console, mobile games) - `gaming.gaming_platform_esports` (Gaming platform / esports): Gaming platform, esports team or league, game streaming, gaming community - `gaming.streaming_video` (Video streaming / TV): Video streaming service, VOD platform, TV network - `gaming.music` (Music): Music label, artist, music streaming, music platform - `gaming.film_tv_production` (Film & TV production): Film, TV, animation or video production company - `gaming.live_events_venues` (Live events & venues): Concerts, festivals, theatres, cinemas, ticketing, event venues - `gaming.gambling_betting` (Gambling & betting): Online casino, sports betting, lottery, poker, gambling operator - `gaming.adult_entertainment` (Adult entertainment): Pornography, adult content, cam or escort sites - `gaming.toys_collectibles` (Toys & collectibles): Toys, board games, trading cards, collectibles, figures - `gaming.hobbies_crafts` (Hobbies & crafts): Craft supplies, art supplies, model kits, sewing, knitting, hobby products #### Media, Publishing & Creators (`media`) News, magazines, blogs, books, podcasts, creators and communities - `media.news_magazine` (News or magazine): News outlet, newspaper, magazine, online publication - `media.blog_content_site` (Blog / content site): Blog, niche content site, review site, how-to site monetised by ads or affiliates - `media.book_publishing` (Book publishing): Book publisher, author, bookstore, audiobooks - `media.podcast_network` (Podcast or radio): Podcast, podcast network or radio - `media.creator_influencer` (Creator / influencer): Personal brand of an influencer, YouTuber, streamer or content creator - `media.community_forum` (Online community): Online community, forum, membership community, fan site - `media.newsletter_media` (Newsletter publication): Newsletter business, Substack-style publication #### Software & SaaS (B2B) (`software`) Software products and platforms sold to businesses and developers - `software.marketing_sales_software` (Marketing & sales software): Marketing, CRM, sales, email marketing, SEO, social media management, influencer marketing software - `software.ecommerce_platform_tools` (E-commerce platform & merchant tools): E-commerce platforms, store builders, checkout, shipping, reviews or loyalty apps for merchants (Shopify, Klaviyo) - `software.hr_recruiting_software` (HR & recruiting software): HR, payroll, recruiting, applicant tracking, employee engagement software - `software.finance_accounting_software` (Finance & accounting software): Accounting, invoicing, expense, billing, procurement, FP&A software - `software.developer_tools_infra` (Developer tools & infrastructure): Developer tools, APIs, cloud infrastructure, databases, DevOps, hosting platforms for developers - `software.cybersecurity` (Cybersecurity): Security software, identity, fraud prevention, compliance tooling - `software.data_analytics_ai` (Data, analytics & AI platform): Data platforms, analytics, BI, AI/ML platforms, AI assistants for business - `software.productivity_collaboration` (Productivity & collaboration software): Project management, docs, chat, scheduling, no-code, workflow automation tools - `software.customer_support_software` (Customer support software): Help desk, live chat, customer service, CX, survey software - `software.vertical_saas` (Industry-specific software): Software for one specific industry (restaurants, salons, construction, legal, real estate, logistics) - `software.it_services_consulting` (IT services & consulting): IT outsourcing, custom software development, system integration, managed IT services - `software.enterprise_software` (Enterprise software): ERP, supply chain, large-enterprise platforms, legacy enterprise vendors #### Consumer Internet & Apps (`internet`) Consumer-facing digital products, apps and internet services - `internet.social_dating` (Social or dating app): Social network, dating app, messaging app, community app - `internet.consumer_utility_app` (Consumer app): Consumer apps: photo editing, notes, budgeting, weather, VPN, file tools, utilities - `internet.email_webmail_provider` (Email provider): Free or paid email service, webmail, email hosting for individuals (Gmail, Outlook, Proton) - `internet.web_hosting_domains` (Web hosting & domains): Web hosting, domain registrar, website builder for consumers and small business - `internet.search_directories` (Search, directories & reviews): Search engine, listings, directories, review platforms, comparison sites - `internet.gig_sharing_platform` (Gig / sharing platform): Ride-hailing, delivery, freelancing, home-sharing, gig or sharing-economy platform - `internet.telecom_isp` (Telecom / ISP): Mobile carrier, internet provider, telecom operator - `internet.consumer_ai` (Consumer AI product): AI chatbots, AI image or content tools aimed at consumers #### Marketing, Advertising & Agencies (`marketing`) Agencies and platforms that market, advertise, design or represent others - `marketing.influencer_marketing` (Influencer marketing platform or agency): Influencer marketing agency or platform, creator marketplace, talent management for creators - `marketing.digital_marketing_agency` (Digital marketing agency): Digital marketing, performance marketing, paid media, growth agency - `marketing.seo_content_agency` (SEO & content agency): SEO, content marketing, copywriting agency - `marketing.creative_branding_agency` (Creative, branding or design agency): Branding, design, creative, advertising agency, web design studio - `marketing.pr_communications` (PR & communications agency): Public relations, communications, media relations agency - `marketing.ad_tech_network` (Ad tech / affiliate network): Ad network, ad exchange, DSP/SSP, affiliate network, programmatic advertising technology - `marketing.market_research` (Market research): Market research, consumer insights, panels, surveys - `marketing.events_experiential` (Events & experiential): Event marketing, trade shows, experiential and conference organisers - `marketing.photo_video_production` (Photo & video production): Photography studio, video production, commercial content production - `marketing.printing_promo` (Printing & promotional products): Printing, signage, promotional products, merchandise supply #### Financial Services (`finance`) Banks, fintech, payments, investing, insurance, lending, crypto - `finance.bank` (Bank / neobank): Bank, credit union, neobank offering accounts and cards - `finance.payments_fintech` (Payments & fintech): Payment processing, wallets, BNPL, money transfer, fintech infrastructure - `finance.investing_trading` (Investing, trading & asset management): Brokerage, trading platform, investment app, asset management, hedge fund, VC or private equity - `finance.crypto_web3` (Crypto / web3): Cryptocurrency exchange, wallet, blockchain, NFT, web3 project - `finance.insurance` (Insurance): Insurance company or broker: life, auto, home, travel, pet, business insurance - `finance.lending_credit` (Lending & credit): Loans, mortgages, credit cards, credit scoring, debt services - `finance.accounting_tax_services` (Accounting & tax services): Accounting firm, bookkeeping, tax preparation, audit services - `finance.personal_finance_app` (Personal finance app): Budgeting, savings, personal finance management app - `finance.real_estate_finance_proptech` (Property finance & investment): Mortgage tech, property investment platforms, proptech finance #### Retail & Marketplaces (multi-category) (`retail`) Stores and marketplaces spanning many product categories - `retail.marketplace` (General marketplace): Multi-vendor marketplace across many categories (Amazon, eBay, Etsy, Temu) - `retail.department_general_store` (Department / general store): Department store, general merchandise, discount or dollar store, warehouse club - `retail.gift_novelty` (Gifts, flowers & novelty): Gift shop, novelty, personalised gifts, greeting cards, flowers - `retail.subscription_box` (Subscription box): Subscription box service curating products from many brands - `retail.dropship_general_store` (Generic online store): Generic online store selling trending products with no distinct brand - `retail.wholesale_b2b_marketplace` (Wholesale / B2B marketplace): Wholesale marketplace or sourcing platform for retailers (Faire, Alibaba) #### Travel & Hospitality (`travel`) Hotels, airlines, booking, tours, rentals, destinations - `travel.hotel_resort` (Hotel or resort): Hotel, resort, hostel, boutique inn, hotel group - `travel.airline` (Airline): Airline or airport - `travel.booking_ota` (Travel booking site): Online travel agency, booking or comparison site, travel app - `travel.vacation_rental` (Vacation rentals): Vacation rental, holiday homes, home-sharing listings - `travel.tours_experiences` (Tours, experiences & cruises): Tour operator, activities, excursions, travel packages, cruises - `travel.travel_gear` (Travel gear brand): Luggage, travel accessories, travel-focused products - `travel.destination_tourism` (Destination & tourism board): Tourism board, destination marketing, visitor guide - `travel.travel_media` (Travel media or influencer): Travel blog, magazine, travel influencer #### Automotive & Transport (`automotive`) Vehicles, parts, dealers, rentals, EV charging, logistics - `automotive.vehicle_manufacturer` (Vehicle manufacturer): Car, truck, motorcycle or EV manufacturer - `automotive.dealership` (Car dealership / marketplace): Car dealership, used car marketplace, vehicle sales - `automotive.auto_parts_accessories` (Auto parts & accessories): Auto parts, tyres, car care, car accessories, tuning - `automotive.car_rental_sharing` (Car rental & sharing): Car rental, car sharing, subscription cars, leasing - `automotive.ev_charging` (EV charging & batteries): EV charging networks, chargers, battery technology - `automotive.auto_services` (Auto repair & services): Repair shops, car wash, detailing, mechanics - `automotive.logistics_shipping` (Logistics & shipping): Freight, shipping, courier, warehousing, supply chain logistics - `automotive.boats_aviation` (Boats & aviation): Boats, yachts, private aviation, aircraft #### Sports & Outdoors (`sports`) Sports equipment, outdoor gear, teams and sports organisations - `sports.sporting_goods` (Sporting goods brand): Sports equipment brand: balls, rackets, golf clubs, protective gear, team sports equipment - `sports.outdoor_camping` (Outdoor & camping brand): Outdoor, hiking, camping, climbing, skiing gear and apparel brand (Patagonia, The North Face) - `sports.cycling` (Cycling brand): Bicycles, cycling components, cycling apparel - `sports.water_sports` (Water sports & fishing): Surf, dive, swim, kayak, fishing, boating gear - `sports.hunting_shooting` (Hunting & shooting): Hunting, archery, firearms, ammunition, tactical gear - `sports.sports_team_league` (Sports team or league): Professional or amateur sports team, league, federation, club - `sports.sports_retailer` (Multi-brand sports retailer): Store selling MANY sports brands (Decathlon, Dick's, REI) - `sports.sports_media` (Sports media): Sports news, sports content, fantasy sports - `sports.golf` (Golf): Golf equipment, golf apparel, golf courses #### Pets (`pets`) Pet food, supplies, services and pet care - `pets.pet_food` (Pet food brand): Pet food, treats, fresh or raw dog and cat food brand - `pets.pet_supplies` (Pet supplies brand): Pet accessories, toys, beds, collars, aquariums, pet tech - `pets.pet_services` (Pet services): Veterinary clinic, grooming, boarding, pet sitting, dog training, pet insurance - `pets.pet_retailer` (Multi-brand pet retailer): Pet store selling MANY pet brands (Chewy, Petco) #### Baby, Kids & Family (`family`) Baby products, parenting, kids activities and family services - `family.baby_gear` (Baby products brand): Strollers, car seats, cribs, feeding, diapers, baby care products - `family.kids_products` (Kids' products): Products for children: kids furniture, school supplies, kids tech, party supplies - `family.parenting_family_media` (Parenting & family media): Parenting blog, family content, mom influencer - `family.childcare_kids_activities` (Childcare & kids activities): Daycare, nurseries, kids camps, kids sports, birthday venues, family entertainment - `family.wedding_events` (Weddings & family events): Wedding services, wedding dresses, event planning for families - `family.fertility_maternity` (Fertility & maternity): Fertility, pregnancy, maternity products and services #### Education & Training (`education`) Schools, universities, e-learning, courses, tutoring, edtech - `education.k12_school` (School (K-12)): Primary or secondary school, school district, kindergarten - `education.university_college` (University or college): University, college, business school, academic institution - `education.online_courses_platform` (Online course platform): Online course marketplace or e-learning platform (Udemy, Coursera, Skillshare) - `education.language_learning` (Language learning): Language learning app, courses or school - `education.tutoring_test_prep` (Tutoring & test prep): Tutoring, test prep, exam coaching, homework help - `education.bootcamp_professional_training` (Bootcamp & professional training): Coding bootcamp, professional certification, corporate training, skills academy - `education.edtech_software` (Edtech software): Software sold to schools and universities (LMS, student information, classroom tools) - `education.kids_education` (Kids' education): Learning apps, toys or programmes for children - `education.creator_education` (Courses & coaching by an expert): Individual expert or coach selling their own courses, memberships or coaching programmes #### Real Estate & Construction (`realestate`) Property, brokers, developers, construction, architecture, coworking - `realestate.brokerage_listings` (Real estate agency or listings): Real estate agency, brokerage, property listings portal - `realestate.developer_builder` (Property developer / builder): Property developer, home builder, real estate investment company - `realestate.property_management` (Property management): Property management, landlords, rental management, HOA - `realestate.construction_contractor` (Construction contractor): Construction company, general contractor, civil engineering - `realestate.architecture_interior` (Architecture & interior design): Architecture firm, interior design studio, landscape design - `realestate.building_materials` (Building materials): Building materials, windows, doors, roofing, plumbing supply, HVAC products - `realestate.coworking_office` (Coworking & offices): Coworking spaces, flexible offices, serviced offices - `realestate.proptech` (Proptech): Real estate technology platform or app #### Professional & Business Services (`services`) Firms that sell expertise, staff or operations to other businesses - `services.law_firm` (Law firm): Law firm, attorneys, legal services - `services.management_consulting` (Management consulting): Management, strategy, business or operations consulting - `services.staffing_recruiting` (Staffing & recruiting): Staffing agency, recruiting firm, headhunters, outsourcing of staff - `services.bpo_outsourcing` (Outsourcing / BPO): Call centres, back-office outsourcing, virtual assistants, data entry - `services.translation_localization` (Translation & localisation): Translation, localisation, interpreting services - `services.coaching_speaking` (Business coach or speaker): Business coach, executive coach, keynote speaker, consultant personal brand - `services.security_facilities` (Security & facilities services): Security guards, facilities management, janitorial, waste services - `services.freelance_studio` (Freelancer / small studio): Small freelance studio or solo professional offering design, development or writing #### Industrial, Manufacturing & Supply (`industrial`) Machinery, materials, components, packaging, energy, agriculture, B2B manufacturing - `industrial.machinery_equipment` (Machinery & equipment): Industrial machinery, tools, equipment, automation, robotics - `industrial.chemicals_materials` (Chemicals & materials): Chemicals, plastics, metals, coatings, raw materials - `industrial.packaging` (Packaging): Packaging materials, boxes, labels, containers for businesses - `industrial.contract_manufacturing` (Contract / private-label manufacturer): Contract or private-label manufacturer making products for other brands (cosmetics, apparel, electronics manufacturing) - `industrial.wholesale_distribution` (Wholesale & distribution): Wholesaler or distributor supplying products to retailers and businesses - `industrial.energy_utilities` (Energy & utilities): Oil, gas, electricity, water utilities, solar, renewable energy, energy equipment - `industrial.agriculture` (Agriculture): Farms, agriculture, seeds, fertiliser, farm equipment, agritech - `industrial.aerospace_defense` (Aerospace & defence): Aerospace, defence, space, military contractors - `industrial.environmental_services` (Environmental services): Recycling, waste management, environmental engineering, sustainability services - `industrial.conglomerate_holding` (Group / holding company): Corporate site of a group or holding company presenting a portfolio of brands rather than one product line (Unilever, P&G, LVMH, Estée Lauder Companies) - `industrial.textiles_apparel_manufacturing` (Textiles & apparel manufacturing): Fabric mills, textile suppliers, garment factories - `industrial.office_supplies_b2b` (Office & workplace supplies): Office supplies, business equipment, uniforms, workplace products #### Government, Nonprofit & Community (`public`) Public bodies, charities, associations, religious and cultural organisations - `public.government` (Government): Government agency, ministry, city, public service, military branch - `public.charity_ngo` (Charity / NGO): Charity, NGO, foundation, humanitarian or advocacy organisation - `public.association_professional_body` (Association / professional body): Trade association, professional body, chamber of commerce, standards body - `public.religious` (Religious organisation): Church, mosque, temple, religious organisation - `public.museum_culture` (Museum & culture): Museum, gallery, library, cultural institution, heritage site - `public.political` (Political organisation): Political party, campaign, think tank #### Not a classifiable business (`other`) Pages that are not an operating organisation or carry no usable information - `other.parked_placeholder` (Parked or placeholder page): Parked domain, "coming soon", under construction, hosting default page, error, login-only or block page - `other.personal_site` (Personal site): Personal homepage, portfolio, CV or hobby blog of a private individual with nothing for sale - `other.unclear` (Could not tell): Text is too short, generic or ambiguous to tell what the organisation does ## Credits Calls are metered in credits: a validation costs 1, an enrichment 2, and reading batch results or the taxonomy is free. Every account gets 25 free credits a day plus 250 once at signup. Plans: Starter $29/month for 7,500 credits (extra at $0.005 each); Business $79/month for 40,000 credits (extra at $0.003 each); Scale $199/month for 150,000 credits (extra at $0.002 each). Credits are spent soonest-to-expire first: the daily allowance, then the plan allowance, then purchased credits. Plans and top-ups are bought at https://mailrook.com/dashboard/billing. ### What each call costs - `GET /v1/validate/{email}`: 1 — Per address. - `GET /v1/validate/{email}?include=enrichment`: 3 — The validation plus the enrichment lookup. - `GET /v1/enrich/{input}`: 2 — Per domain, whatever fields you ask for — the company category costs no more than the rest, and a domain already in our index costs the same as a cold one. - `GET /v1/taxonomy/company-categories`: 0 — Free and unmetered. It is a static list; fetch it once and cache it against its version. - `POST /v1/validate/batch`: 1 — Per unique address. The list is de-duplicated first, and the whole batch is charged up front — a batch you cannot afford is rejected with 402 and nothing is charged. - `POST /v1/validate/batch/upload`: 1 — Per unique address, charged up front, same as the JSON batch. - `GET /v1/validate/list/{list_id}`: 0 — Reading results is free — the batch was already charged on submission, so polling costs nothing. ### Balance headers Returned on every authenticated response, including a 402. A header for a bucket the account does not have is omitted, not sent as zero. - `X-Credits-Remaining` (integer): Everything spendable right now: today's free allowance, plus whatever the plan has left this period, plus purchased credits. This is the one number to poll — it is what runs out. - `X-Credits-Free-Today` (integer): Of that total, how much is today's free allowance. Resets at midnight UTC. - `X-Credits-Plan` (integer): Of that total, how much of the plan's monthly allowance is left this billing period. Absent on accounts with no plan. - `X-Credits-Paid` (integer): Of that total, the purchased balance. Purchased credits never expire and are spent last. - `X-Plan` (string): Key of the active plan. Absent on accounts with no plan. ### Running out (402) When the balance cannot cover a call it returns 402 and nothing is charged. The body says which allowance ran out and when it comes back, so back off until then instead of retrying: ```json { "data": null, "code": 402, "message": "Insufficient credits to validate", "details": { "reason": "free_allowance_exhausted", "plan": null, "daily_free_allowance": 25, "free_resets_at": "2026-01-02T00:00:00+00:00", "hint": "Your free allowance for today is used up and it resets at midnight. A plan gives you a monthly allowance instead.", "billing_url": "https://mailrook.com/billing" } } ``` - `free_allowance_exhausted`: No plan on the account and today's free allowance is spent. It comes back at `free_resets_at`. - `plan_allowance_exhausted`: The plan's allowance for this billing period is spent and there is no purchased balance to fall back on. ## Errors - `200`: Success. - `201`: Batch accepted. The body carries the `list_id` to poll. - `202`: Batch still processing. The message reports how many of the addresses are done; poll again. - `401`: Missing or invalid API key. - `402`: Out of credits. See the credits section — the body says which allowance ran out and when it comes back. - `404`: Unknown list id, or no such endpoint. - `422`: Invalid email format, unresolvable domain, or a missing required field. - `500`: Internal server error. ## MCP server Server URL: `https://mcp.mailrook.com/mcp` Streamable HTTP with OAuth 2.1 and dynamic client registration: the client opens a MailRook sign-in on first connect, and calls are charged to that account at the same credit costs as the API. A free account is enough. Setup guide: https://mailrook.com/validate-email-mcp. ### Connecting a client Claude: - In Claude Desktop or claude.ai, open Settings → Connectors → Add custom connector. - Paste the MailRook server URL and save. - Sign in with your MailRook account when the authorization page opens. Claude Code: - Run this in your terminal, then type /mcp inside Claude Code to authorize. ``` claude mcp add --transport http mailrook https://mcp.mailrook.com/mcp ``` Cursor: - Add MailRook to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global), then approve the sign-in prompt. ``` { "mcpServers": { "mailrook": { "type": "http", "url": "https://mcp.mailrook.com/mcp" } } } ``` Any MCP client: - Any client that speaks streamable HTTP with OAuth 2.1 can connect — most of them take this config shape. ``` { "mcpServers": { "mailrook": { "type": "http", "url": "https://mcp.mailrook.com/mcp" } } } ``` ### Tools #### `validate-email-tool` — Validate Email (read-only) Validate a single email address. Returns validation results including format check, domain existence, deliverability, catch-all detection, a did-you-mean suggestion for mistyped domains, and classification (disposable, free, generic, university). - `email` (string, required): The email address to validate #### `submit-batch-tool` — Submit Batch Submit a batch of email addresses for validation. Returns a list ID that can be used to retrieve results later with the get_batch_results tool. - `emails` (array, required): Array of email addresses to validate #### `get-batch-results-tool` — Get Batch Results (read-only) Get results of a batch email validation list. If the list is still processing, returns progress status. Use the list_id returned by submit_batch. - `list_id` (string, required): The UUID of the batch list (returned by submit_batch)