{
  "id": "hunterio.domain-search",
  "object": "tool",
  "name": "Find Domain Emails",
  "summary": "List all email addresses found for a domain, with sources and confidence scores.",
  "description": "Search every email address published on the web for one company domain. Returns each address with type (personal/generic), confidence score, up to 20 source URLs, first/last name, job title, seniority, department, decision-maker flag, LinkedIn and Twitter handles, phone number, and verification status, plus the domain's email pattern (e.g. {first}) and organization name. Supports filtering by type, seniority, department, decision maker, job titles, verification status, required fields, and location include/exclude; paginate with limit/offset (meta.results is the total). Suited for building outreach lists, mapping a company's team, and finding the right contact at a target account. To verify an address before sending, pass it to /email-verifier.\n\nRaw hunterio#domain-search endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://hunter.io/api-documentation/v2#domain-search).",
  "category": "lookup",
  "hosted_by": "Hunter",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "hunterio",
      "name": "Hunter",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "hunterio_domain-search",
  "input_schema": {
    "type": "object",
    "properties": {
      "body": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "minLength": 1,
                "description": "Domain name, e.g. 'stripe.com'. Preferred over company — it skips the name-to-domain conversion."
              },
              "company": {
                "type": "string",
                "minLength": 3,
                "description": "Company name, e.g. 'Stripe'. When both company and domain are given, domain wins."
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100,
                "description": "Max email addresses to return. Default 10, max 100. Billing is per started block of 10 returned addresses."
              },
              "offset": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991,
                "description": "Addresses to skip — combine with limit to paginate (meta.results is the total). Each page bills separately."
              },
              "type": {
                "type": "string",
                "enum": [
                  "personal",
                  "generic"
                ],
                "description": "Only personal (a person's own address) or generic (role-based, e.g. contact@) addresses."
              },
              "seniority": {
                "type": "string",
                "minLength": 1,
                "description": "Only people with the selected seniority level(s). Possible values: junior, senior, executive. Several values can be selected, comma-delimited."
              },
              "department": {
                "type": "string",
                "minLength": 1,
                "description": "Only people in the selected department(s). Possible values: executive, it, finance, management, sales, legal, support, hr, marketing, communication, education, design, health, operations, product, research, consulting, administrative, procurement. Several values can be selected, comma-delimited."
              },
              "decision_maker": {
                "type": "boolean",
                "description": "true → only likely decision makers; false → only non-decision-makers."
              },
              "required_field": {
                "type": "string",
                "minLength": 1,
                "description": "Only addresses whose person record has the selected field(s). Possible values: full_name, position, phone_number. Several values can be selected, comma-delimited."
              },
              "verification_status": {
                "type": "string",
                "minLength": 1,
                "description": "Only addresses with the selected verification status(es). Possible values: valid, accept_all, unknown. Several values can be selected, comma-delimited."
              },
              "job_titles": {
                "type": "string",
                "minLength": 1,
                "description": "Only people with the selected job title(s), comma-delimited. Common executive titles match their well-known equivalents (CTO matches Chief Technology Officer, VP matches Vice President)."
              },
              "location": {
                "type": "object",
                "properties": {
                  "include": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "continent": {
                          "type": "string",
                          "enum": [
                            "Africa",
                            "Antarctica",
                            "Asia",
                            "Europe",
                            "North America",
                            "Oceania",
                            "South America"
                          ],
                          "description": "A continent name."
                        },
                        "business_region": {
                          "type": "string",
                          "enum": [
                            "AMER",
                            "EMEA",
                            "APAC",
                            "LATAM"
                          ],
                          "description": "A business region: AMER, EMEA, APAC, or LATAM."
                        },
                        "country": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 2,
                          "description": "ISO 3166-1 alpha-2 country code, e.g. 'US'."
                        },
                        "state": {
                          "type": "string",
                          "description": "US state code — only valid when country is 'US'."
                        },
                        "city": {
                          "type": "string",
                          "description": "City name."
                        }
                      },
                      "description": "A location: continent, business_region, or country (+ state/city)."
                    },
                    "description": "Locations to include."
                  },
                  "exclude": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "continent": {
                          "type": "string",
                          "enum": [
                            "Africa",
                            "Antarctica",
                            "Asia",
                            "Europe",
                            "North America",
                            "Oceania",
                            "South America"
                          ],
                          "description": "A continent name."
                        },
                        "business_region": {
                          "type": "string",
                          "enum": [
                            "AMER",
                            "EMEA",
                            "APAC",
                            "LATAM"
                          ],
                          "description": "A business region: AMER, EMEA, APAC, or LATAM."
                        },
                        "country": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 2,
                          "description": "ISO 3166-1 alpha-2 country code, e.g. 'US'."
                        },
                        "state": {
                          "type": "string",
                          "description": "US state code — only valid when country is 'US'."
                        },
                        "city": {
                          "type": "string",
                          "description": "City name."
                        }
                      },
                      "description": "A location: continent, business_region, or country (+ state/city)."
                    },
                    "description": "Locations to exclude."
                  }
                },
                "description": "Only people in (or not in) the given locations."
              },
              "aggregations": {
                "type": "boolean",
                "description": "Include a meta.aggregations breakdown: personal emails per department, decision-maker count, personal/generic split."
              }
            },
            "required": [
              "domain",
              "limit"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "minLength": 1,
                "description": "Domain name, e.g. 'stripe.com'. Preferred over company — it skips the name-to-domain conversion."
              },
              "company": {
                "type": "string",
                "minLength": 3,
                "description": "Company name, e.g. 'Stripe'. When both company and domain are given, domain wins."
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100,
                "description": "Max email addresses to return. Default 10, max 100. Billing is per started block of 10 returned addresses."
              },
              "offset": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991,
                "description": "Addresses to skip — combine with limit to paginate (meta.results is the total). Each page bills separately."
              },
              "type": {
                "type": "string",
                "enum": [
                  "personal",
                  "generic"
                ],
                "description": "Only personal (a person's own address) or generic (role-based, e.g. contact@) addresses."
              },
              "seniority": {
                "type": "string",
                "minLength": 1,
                "description": "Only people with the selected seniority level(s). Possible values: junior, senior, executive. Several values can be selected, comma-delimited."
              },
              "department": {
                "type": "string",
                "minLength": 1,
                "description": "Only people in the selected department(s). Possible values: executive, it, finance, management, sales, legal, support, hr, marketing, communication, education, design, health, operations, product, research, consulting, administrative, procurement. Several values can be selected, comma-delimited."
              },
              "decision_maker": {
                "type": "boolean",
                "description": "true → only likely decision makers; false → only non-decision-makers."
              },
              "required_field": {
                "type": "string",
                "minLength": 1,
                "description": "Only addresses whose person record has the selected field(s). Possible values: full_name, position, phone_number. Several values can be selected, comma-delimited."
              },
              "verification_status": {
                "type": "string",
                "minLength": 1,
                "description": "Only addresses with the selected verification status(es). Possible values: valid, accept_all, unknown. Several values can be selected, comma-delimited."
              },
              "job_titles": {
                "type": "string",
                "minLength": 1,
                "description": "Only people with the selected job title(s), comma-delimited. Common executive titles match their well-known equivalents (CTO matches Chief Technology Officer, VP matches Vice President)."
              },
              "location": {
                "type": "object",
                "properties": {
                  "include": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "continent": {
                          "type": "string",
                          "enum": [
                            "Africa",
                            "Antarctica",
                            "Asia",
                            "Europe",
                            "North America",
                            "Oceania",
                            "South America"
                          ],
                          "description": "A continent name."
                        },
                        "business_region": {
                          "type": "string",
                          "enum": [
                            "AMER",
                            "EMEA",
                            "APAC",
                            "LATAM"
                          ],
                          "description": "A business region: AMER, EMEA, APAC, or LATAM."
                        },
                        "country": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 2,
                          "description": "ISO 3166-1 alpha-2 country code, e.g. 'US'."
                        },
                        "state": {
                          "type": "string",
                          "description": "US state code — only valid when country is 'US'."
                        },
                        "city": {
                          "type": "string",
                          "description": "City name."
                        }
                      },
                      "description": "A location: continent, business_region, or country (+ state/city)."
                    },
                    "description": "Locations to include."
                  },
                  "exclude": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "continent": {
                          "type": "string",
                          "enum": [
                            "Africa",
                            "Antarctica",
                            "Asia",
                            "Europe",
                            "North America",
                            "Oceania",
                            "South America"
                          ],
                          "description": "A continent name."
                        },
                        "business_region": {
                          "type": "string",
                          "enum": [
                            "AMER",
                            "EMEA",
                            "APAC",
                            "LATAM"
                          ],
                          "description": "A business region: AMER, EMEA, APAC, or LATAM."
                        },
                        "country": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 2,
                          "description": "ISO 3166-1 alpha-2 country code, e.g. 'US'."
                        },
                        "state": {
                          "type": "string",
                          "description": "US state code — only valid when country is 'US'."
                        },
                        "city": {
                          "type": "string",
                          "description": "City name."
                        }
                      },
                      "description": "A location: continent, business_region, or country (+ state/city)."
                    },
                    "description": "Locations to exclude."
                  }
                },
                "description": "Only people in (or not in) the given locations."
              },
              "aggregations": {
                "type": "boolean",
                "description": "Include a meta.aggregations breakdown: personal emails per department, decision-maker count, personal/generic split."
              }
            },
            "required": [
              "company",
              "limit"
            ],
            "additionalProperties": false
          }
        ],
        "description": "Provide at least one of domain or company (domain wins when both are given)."
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "kind": "endpoint"
}