---
title: "List companies with their emails"
method: GET
path: "/v1/searches/{id}/companies"
tags: ["Leads"]
---

# List companies with their emails

`GET /v1/searches/{id}/companies`

## Request

- Base URL: `https://api.nvoke.run`
- URL: `https://api.nvoke.run/v1/searches/{id}/companies`
- Auth: HTTP bearer

The companies a search found, each with its checked email addresses, 50 to a page. Filter by `verification` (`valid` is what you usually want), by `kind` (`generic` like info@, or `personal`), by `people=true` (only addresses with a named person), by `decisionMakers=true` (only founders, executives and directors) and by `q` (name, domain or address). `total` counts the companies that match. Pass `nextCursor` back as `cursor` for the next page. Addresses appear once their check has run.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `verification` 'valid' | 'invalid' | 'risky' | 'catch_all' | 'unknown'
- `kind` 'generic' | 'personal'
- `people` union
  - boolean
  - string
- `decisionMakers` union
  - boolean
  - string
- `q` string
- `cursor` string
- `limit` integer

## Response `200`

OK

- object
  - `companies` object[], required
    - `id` string, uuid, required
    - `name` string, required
    - `domain` string, required
    - `website` string, required
    - `source` string, required
    - `sourceRef` string, nullable, required
    - `location` string, nullable, required
    - `phone` string, nullable, required
    - `category` string, nullable, required
    - `crawlStatus` 'pending' | 'done' | 'failed' | 'blocked' | 'refused' | 'js_only', required
    - `crawledAt` string, date-time, nullable, required
    - `localCrawl` 'claimed' | 'done' | 'failed' | 'blocked', nullable, required
    - `emails` object[], required
      - `id` string, uuid, required
      - `address` string, required
      - `kind` 'generic' | 'personal', required
      - `sourceUrl` string, nullable, required
      - `verification` 'valid' | 'invalid' | 'risky' | 'catch_all' | 'unknown', nullable, required
      - `checkedAt` string, date-time, nullable, required
      - `person` object, nullable
        - `firstName` string, required
        - `lastName` string, required
        - `title` string, nullable, required
        - `seniority` 'founder' | 'executive' | 'director' | 'manager' | 'staff', nullable, required
      - `foundVia` 'page' | 'pattern' | 'cache', nullable
      - `confidence` integer, nullable
    - `fit` integer, nullable
    - `opener` object, nullable, required
      - `status` 'queued' | 'done' | 'none' | 'failed', required
      - `line` string, nullable, required
      - `sourceUrl` string, nullable, required
      - `quote` string, nullable, required
      - `draftedAt` string, date-time, nullable, required
    - `inboxesSkipped` integer, nullable
    - `inboxesPending` integer, nullable
  - `nextCursor` string, nullable, required
  - `total` integer, required

## Other responses

- `4XX`: `unauthorized`: No valid token. Send `Authorization: Bearer <key>`. `not_found`: No such search, key or webhook on this account. `invalid_request`: The body or query failed validation. `details` lists the problems.

---

[API](https://skmtc.dev/nvoke/apis/nvoke-api.md) · [All operations](https://skmtc.dev/nvoke/apis/nvoke-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nvoke/apis/nvoke-api/revisions/f7cfd26111a8?raw)
