> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# Find email addresses at a company domain, with roles

> one of domain | company is required. Mapped to people.search because what it actually returns is a filtered list of PEOPLE at that company

<!-- aisa-pricing:start -->
Usage-based billing; Default request estimate: $0.0245 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->

## Request contract

* **Method and path:** GET /apis/v1/hunter/companies-emails
* **Availability:** enabled
* **Request URL template:** `https://api.aisa.one/apis/v1/hunter/companies-emails`
* **aggregations:** query; optional
* **company:** query; optional
* **decision\_maker:** query; optional
* **department:** query; optional
* **domain:** query; optional
* **job\_titles:** query; optional
* **limit:** query; required
* **location:** query; optional
* **offset:** query; optional
* **required\_field:** query; optional
* **seniority:** query; optional
* **type:** query; optional
* **verification\_status:** query; optional
* **Runtime facts:** 9d6cd55f4883e0d802c7a28091c00738a9992688a6c242f0fae404a62c5146a1

[Complete OpenAPI definition](https://aisa.one/docs/reference-contracts/hunter.json)

Effective request and pricing declaration (including authentication and referenced schemas):

```json theme={null}
{
  "operationId": "hunter.companies-emails",
  "method": "GET",
  "path": "/apis/v1/hunter/companies-emails",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [
    {
      "name": "aggregations",
      "in": "query",
      "required": false,
      "schema": {
        "type": "boolean",
        "description": "return aggregate breakdowns (by department, seniority) alongside the results"
      }
    },
    {
      "name": "company",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "company name, when you don't know the domain"
      }
    },
    {
      "name": "decision_maker",
      "in": "query",
      "required": false,
      "schema": {
        "type": "boolean",
        "description": "restrict to people Hunter classifies as decision makers"
      }
    },
    {
      "name": "department",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "executive, it, finance, management, sales, legal, support, hr, marketing, communication, education, design, health, operations"
      }
    },
    {
      "name": "domain",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "the company's domain — preferred over company",
        "examples": [
          "stripe.com"
        ]
      }
    },
    {
      "name": "job_titles",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "comma-separated job titles to match"
      }
    },
    {
      "examples": {
        "default": {
          "value": 1
        },
        "minimal": {
          "value": 1
        }
      },
      "in": "query",
      "name": "limit",
      "required": true,
      "schema": {
        "maximum": 100,
        "minimum": 1,
        "type": "integer",
        "description": "emails to return, default 10, max 100 — THIS IS THE PRICE DIAL: 1 search credit per 10 returned"
      }
    },
    {
      "name": "location",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "comma-separated locations to filter results by"
      }
    },
    {
      "name": "offset",
      "in": "query",
      "required": false,
      "schema": {
        "type": "integer",
        "description": "records to skip, for paging"
      }
    },
    {
      "name": "required_field",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "comma-separated fields a result must have, e.g. full_name,position"
      }
    },
    {
      "name": "seniority",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "junior, senior, executive — comma-separate to combine"
      }
    },
    {
      "name": "type",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "personal (named people) | generic (info@, contact@)",
        "examples": [
          "personal"
        ]
      }
    },
    {
      "name": "verification_status",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "description": "filter by deliverability status, e.g. valid"
      }
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "x-aisa-status": "enabled",
  "x-aisa-pricing": {
    "cost_contract": "response_units",
    "customer_multiplier": 1.0,
    "customer_pricing": "provider_cost_multiplier",
    "default_request_estimate_usd": 0.0245,
    "estimate_source": "profile_seed",
    "evidence_source": "response_header",
    "unit": "provider_credit",
    "unit_rate_usd": 1e-06
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
```

## Cost and request rules

Usage-based billing; Default request estimate: \$0.0245 USD (not a fixed price). Declared unit rate: \$0.000001 USD per provider\_credit. Account-specific pricing and final settlement may differ.

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

* **Default request reference estimate (USD):** 0.0245
* **Declared unit rate (USD):** 1e-06
* **Billing unit:** provider\_credit
* **Cost contract:** response\_units
* **Published reference multiplier:** 1.0
* **Settlement evidence source:** response\_header


## OpenAPI

````yaml reference-contracts/hunter.json GET /apis/v1/hunter/companies-emails
openapi: 3.1.0
info:
  description: ''
  title: Hunter
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-configured-paths:
    - /apis/v1/hunter/combined-enrichment
    - /apis/v1/hunter/combined-find
    - /apis/v1/hunter/companies-emails
    - /apis/v1/hunter/companies-enrich
    - /apis/v1/hunter/company-enrichment
    - /apis/v1/hunter/domain-search
    - /apis/v1/hunter/email-finder
    - /apis/v1/hunter/multi-domain-search-reveal
    - /apis/v1/hunter/people-email-find
    - /apis/v1/hunter/people-enrich
    - /apis/v1/hunter/people-enrichment
  x-aisa-document:
    facts_hash: 9d6cd55f4883e0d802c7a28091c00738a9992688a6c242f0fae404a62c5146a1
    generator_version: '3'
    protocol_version: '1'
    schema_version: '1'
    composer_version: '28'
    response_pending:
      - operation_id: hunter.combined-find
        path: /apis/v1/hunter/combined-find
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: hunter.companies-emails
        path: /apis/v1/hunter/companies-emails
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: hunter.companies-enrich
        path: /apis/v1/hunter/companies-enrich
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: hunter.people-email-find
        path: /apis/v1/hunter/people-email-find
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
      - operation_id: hunter.people-enrich
        path: /apis/v1/hunter/people-enrich
        method: GET
        statuses:
          - '200'
        reason: public success response has no authoritative payload declaration
    document_hash: sha256:222fdc2d20e3aa2988cfe6d40b000dd334548495bdd66474d0e7fc92b8a291bb
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: hunter
  x-aisa-catalogs:
    hunter:
      title: Hunter
      description: ''
      x-aisa-document:
        facts_hash: 9d6cd55f4883e0d802c7a28091c00738a9992688a6c242f0fae404a62c5146a1
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/hunter/companies-emails:
    get:
      tags:
        - Hunter
      summary: Find email addresses at a company domain, with roles
      description: >-
        one of domain | company is required. Mapped to people.search because
        what it actually returns is a filtered list of PEOPLE at that company


        <!-- aisa-pricing:start -->

        Usage-based billing; Default request estimate: $0.0245 USD (not a fixed
        price). Declared unit rate: $0.000001 USD per provider_credit.
        Account-specific pricing and final settlement may differ.

        <!-- aisa-pricing:end -->
      operationId: hunter.companies-emails
      parameters:
        - name: aggregations
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              return aggregate breakdowns (by department, seniority) alongside
              the results
        - name: company
          in: query
          required: false
          schema:
            type: string
            description: company name, when you don't know the domain
        - name: decision_maker
          in: query
          required: false
          schema:
            type: boolean
            description: restrict to people Hunter classifies as decision makers
        - name: department
          in: query
          required: false
          schema:
            type: string
            description: >-
              executive, it, finance, management, sales, legal, support, hr,
              marketing, communication, education, design, health, operations
        - name: domain
          in: query
          required: false
          schema:
            type: string
            description: the company's domain — preferred over company
            examples:
              - stripe.com
        - name: job_titles
          in: query
          required: false
          schema:
            type: string
            description: comma-separated job titles to match
        - examples:
            default:
              value: 1
            minimal:
              value: 1
          in: query
          name: limit
          required: true
          schema:
            maximum: 100
            minimum: 1
            type: integer
            description: >-
              emails to return, default 10, max 100 — THIS IS THE PRICE DIAL: 1
              search credit per 10 returned
        - name: location
          in: query
          required: false
          schema:
            type: string
            description: comma-separated locations to filter results by
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            description: records to skip, for paging
        - name: required_field
          in: query
          required: false
          schema:
            type: string
            description: comma-separated fields a result must have, e.g. full_name,position
        - name: seniority
          in: query
          required: false
          schema:
            type: string
            description: junior, senior, executive — comma-separate to combine
        - name: type
          in: query
          required: false
          schema:
            type: string
            description: personal (named people) | generic (info@, contact@)
            examples:
              - personal
        - name: verification_status
          in: query
          required: false
          schema:
            type: string
            description: filter by deliverability status, e.g. valid
      responses:
        '200':
          description: Successful response
        default:
          content:
            application/json:
              schema: {}
          description: >-
            Error response; upstream passthrough responses may use provider
            formats
      x-codeSamples:
        - lang: text
          label: Reference example
          source: >-
            # Fixed reference example. Playground inputs do not update this
            sample.

            curl --request GET \
              --url 'https://api.aisa.one/apis/v1/hunter/companies-emails?limit=1' \
              --header 'Authorization: Bearer <token>'
components:
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.