Search emails across companies matching filters
hunter.x.multi-domain-searchSearches every company matching your filters in one request; returns masked rows with reveal handles
- Price
- freeAt provider cost
- Success rate
- 100%Last 30 days · 4,505 calls
- Latency p50
- 238 msp95 379 ms
- Last verified
- —Not verified yet
POSThttps://toolswitch.dev/v1/tools/hunter.x.multi-domain-search?limit=1&location=US&department=executivePreview- Uses platform quota
- Synchronous response
- Reads public data
Parameters
at least one company or email filter is required (Hunter 400 otherwise). This POST takes filters as query parameters, matching Hunter's documented request - not a JSON body, and there is no companies array. Cheap probe: queryParams {location: "US", department: "executive", limit: 1}. Results are masked; unlock addresses via hunter.x.multi-domain-search-reveal. Beta: parameters may change.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Query parameters | ||||
type | string | Optional | personal | generic | |
limit | integer | Optional | rows per page, default and maximum 100 | 1 |
industry | string | Optional | numeric IDs from Hunter's industries.json catalog, comma-separated | |
location | string | Optional | ISO 3166-1 alpha-2 country codes, comma-separated | US |
headcount | string | Optional | one of 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ | |
seniority | string | Optional | junior, senior, executive - comma-separate to combine | |
department | string | Optional | executive, it, finance, management, sales, legal, support, hr, marketing, communication, education, design, health, operations, product, research, consulting, administrative, procurement | executive |
per_domain | boolean | Optional | when true, include a per-domain email-count breakdown in meta | |
technology | string | Optional | exact slugs from Hunter's technologies.json catalog, comma-separated | |
company_name | string | Optional | company name to match | Stripe |
company_type | string | Optional | educational, educational institution, government agency, non profit, partnership, privately held, public company, self employed, self owned, sole proprietorship | |
founded_year | integer | Optional | four-digit year from 1000 up to next year | |
search_after | string | Optional | pagination cursor from meta.next_search_after; this endpoint rejects offset | |
decision_maker | boolean | Optional | filters only when truthy; a false value is ignored on this endpoint | |
min_confidence | integer | Optional | integer from 2 to 100 | |
required_field | string | Optional | comma-separated fields a result must have - full_name, position, phone_number | |
verification_status | string | Optional | valid, accept_all, unknown | |
- Query parameters
typestringOptionalpersonal | generic
limitintegerOptionalrows per page, default and maximum 100
Example:
1industrystringOptionalnumeric IDs from Hunter's industries.json catalog, comma-separated
locationstringOptionalISO 3166-1 alpha-2 country codes, comma-separated
Example:
USheadcountstringOptionalone of 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+
senioritystringOptionaljunior, senior, executive - comma-separate to combine
departmentstringOptionalexecutive, it, finance, management, sales, legal, support, hr, marketing, communication, education, design, health, operations, product, research, consulting, administrative, procurement
Example:
executiveper_domainbooleanOptionalwhen true, include a per-domain email-count breakdown in meta
technologystringOptionalexact slugs from Hunter's technologies.json catalog, comma-separated
company_namestringOptionalcompany name to match
Example:
Stripecompany_typestringOptionaleducational, educational institution, government agency, non profit, partnership, privately held, public company, self employed, self owned, sole proprietorship
founded_yearintegerOptionalfour-digit year from 1000 up to next year
search_afterstringOptionalpagination cursor from meta.next_search_after; this endpoint rejects offset
decision_makerbooleanOptionalfilters only when truthy; a false value is ignored on this endpoint
min_confidenceintegerOptionalinteger from 2 to 100
required_fieldstringOptionalcomma-separated fields a result must have - full_name, position, phone_number
verification_statusstringOptionalvalid, accept_all, unknown
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
curl -X POST 'https://toolswitch.dev/v1/tools/hunter.x.multi-domain-search?limit=1&location=US&department=executive' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY"import os
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/hunter.x.multi-domain-search?limit=1&location=US&department=executive",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/hunter.x.multi-domain-search?limit=1&location=US&department=executive", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
},
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at free, including the service fee.