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

# List a company's people

> Lists the people who work at one company, narrowed by people `filters` such as seniority or department when you send them. Send `company` as `POST /v1/companies/resolve` takes it.

For the next page, send the same `company` and `filters` with the page's `pagination.nextCursor` as `cursor`. A company nothing matches answers `status` `not_found`, with no people, and costs nothing.

**Price:** \$0.0001 per person returned. Before the search runs, `limit` times \$0.0001 is held from your balance, and what the page does not use is released. A page with nothing on it costs nothing. **Scope:** search. Read-only keys may call it.



## OpenAPI

````yaml /openapi.json post /v1/companies/people
openapi: 3.1.0
info:
  title: outbound.dev API
  version: v1
  description: Find people and companies, and see what every call costs, with one API key.
servers:
  - url: https://api.outbound.dev
security: []
tags:
  - name: People
    description: >-
      Search people with filters, a saved search or a plain-language query,
      count matches and look up filter values.
  - name: Companies
    description: >-
      Search companies, count matches, name one company by its name, domain or
      LinkedIn page, and list its people.
  - name: Saved searches
    description: Keep a search under a title and run it again, for people or for companies.
  - name: Jobs
    description: >-
      Long tasks a call started: their progress, what they produced and what
      they were charged.
  - name: Account
    description: >-
      The calling key and its organization, its rate limits, and revoking the
      key.
  - name: Billing
    description: The balance, the ledger of every change to it, and the price list.
  - name: Usage and requests
    description: >-
      Calls and spend by day, and the record of every request of the last 30
      days.
paths:
  /v1/companies/people:
    post:
      tags:
        - Companies
      summary: List a company's people
      description: >-
        Lists the people who work at one company, narrowed by people `filters`
        such as seniority or department when you send them. Send `company` as
        `POST /v1/companies/resolve` takes it.


        For the next page, send the same `company` and `filters` with the page's
        `pagination.nextCursor` as `cursor`. A company nothing matches answers
        `status` `not_found`, with no people, and costs nothing.


        **Price:** \$0.0001 per person returned. Before the search runs, `limit`
        times \$0.0001 is held from your balance, and what the page does not use
        is released. A page with nothing on it costs nothing. **Scope:** search.
        Read-only keys may call it.
      operationId: postCompaniesPeople
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  type: object
                  description: >-
                    The company, as `POST /v1/companies/resolve` takes it. Only
                    the most precise of the values sent is looked up.
                  properties:
                    name:
                      type: string
                      description: The company's name.
                      minLength: 1
                      maxLength: 255
                      example: A.P. Moller - Maersk
                    domain:
                      type: string
                      description: The company's website domain.
                      minLength: 1
                      maxLength: 253
                      example: maersk.com
                    linkedinUrl:
                      type: string
                      description: The company's LinkedIn page URL.
                      minLength: 1
                      maxLength: 2048
                filters:
                  type: object
                  description: >-
                    People filters to narrow the company's people, such as
                    seniority or department, from `GET /v1/people/filters`.
                  maxProperties: 100
                  additionalProperties: {}
                  example:
                    job_title_levels:
                      - director
                limit:
                  type: integer
                  description: >-
                    People per page, up to 25. The page's most possible cost,
                    `limit` times \$0.0001, is held from your balance first.
                  default: 10
                  minimum: 1
                  maximum: 25
                cursor:
                  type: string
                  description: >-
                    The `pagination.nextCursor` of the page before. Send it with
                    the same search, as the `filters` the first page answered
                    with.
                  minLength: 1
                  maxLength: 4096
              required:
                - company
            example:
              company:
                domain: maersk.com
              filters:
                job_title_levels:
                  - director
              limit: 10
      responses:
        '200':
          description: One page of the company's people.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Charged-Usd:
              $ref: '#/components/headers/ChargedUsd'
            X-Balance-Usd:
              $ref: '#/components/headers/BalanceUsd'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - company
                  - data
                  - pagination
                properties:
                  status:
                    type: string
                    enum:
                      - found
                      - not_found
                    description: >-
                      `not_found` when nothing matches the company: no people,
                      nothing charged.
                  company:
                    type:
                      - object
                      - 'null'
                    description: >-
                      The company, each field null when unknown. Null when
                      nothing matches.
                    properties:
                      name:
                        type:
                          - string
                          - 'null'
                      domain:
                        type:
                          - string
                          - 'null'
                      linkedinUrl:
                        type:
                          - string
                          - 'null'
                      logoUrl:
                        type:
                          - string
                          - 'null'
                  data:
                    type: array
                    items:
                      type: object
                      description: >-
                        A person as LinkedIn and the data providers describe
                        them. Never an email address or a phone number.
                      required:
                        - linkedinMemberId
                        - linkedin_url
                        - full_name
                      additionalProperties: true
                      properties:
                        linkedinMemberId:
                          type: string
                          description: The person's LinkedIn member id.
                        linkedin_url:
                          type: string
                          description: >-
                            `linkedin.com/in/<slug>` in lower case: the person's
                            key across searches.
                        full_name:
                          type: string
                        first_name:
                          type: string
                        last_name:
                          type: string
                        profile_picture_url:
                          type: string
                          description: >-
                            A public https link to the profile picture. Absent
                            when there is none.
                        job_title:
                          type: string
                          description: The current job's title, as written on LinkedIn.
                        job_title_levels:
                          type: array
                          items:
                            type: string
                          description: >-
                            Seniority worked out from the title, in the
                            `job_title_levels` filter's values.
                        job_title_role:
                          type: string
                          description: >-
                            Department worked out from the title, in the
                            `job_title_role` filter's values.
                        job_title_sub_role:
                          type: string
                          description: Sub-department worked out from the title.
                        industry:
                          type: string
                          description: >-
                            The person's industry, in the `industry` filter's
                            values.
                        job_company_name:
                          type: string
                        job_company_website:
                          type: string
                          description: The employer's bare domain.
                        job_company_linkedin_url:
                          type: string
                          description: >-
                            The employer's LinkedIn page, as
                            `linkedin.com/company/<slug>`.
                        job_company_industry:
                          type: string
                        job_company_employee_count:
                          type: integer
                          description: >-
                            The employer's headcount: the low end of the
                            estimate.
                        job_end_date:
                          type: string
                          description: >-
                            Only for a person with no current job: the job
                            fields then describe the last job, which ended on
                            this date (`YYYY-MM-DD`).
                        is_open_to_work:
                          type: boolean
                          description: >-
                            Whether the person shows on LinkedIn that they are
                            open to work. Absent when not known.
                        location_name:
                          type: string
                          description: >-
                            Lower-case `city, state, country`; missing parts are
                            dropped from the front.
                        summary:
                          type: string
                        experience:
                          type: array
                          description: Job history, current jobs included.
                          items:
                            type: object
                            properties:
                              company:
                                type: object
                                properties:
                                  name:
                                    type: string
                                  website:
                                    type: string
                              title:
                                type: object
                                properties:
                                  name:
                                    type: string
                              start_date:
                                type: string
                                description: '`YYYY-MM-DD`.'
                              end_date:
                                type: string
                                description: '`YYYY-MM-DD`. Absent on a current job.'
                              summary:
                                type: string
                  pagination:
                    type: object
                    properties:
                      nextCursor:
                        type: string
                        description: >-
                          Send as `cursor`, with the same search, for the next
                          page. Absent on the last page. A page can hold fewer
                          people than `limit`, so only a missing cursor marks
                          the end.
                      total:
                        type: integer
                        description: >-
                          An estimate of everyone matching, on the first page
                          only.
              example:
                status: found
                company:
                  name: A.P. Moller - Maersk
                  domain: maersk.com
                  linkedinUrl: linkedin.com/company/maersk-group
                  logoUrl: https://logo.example/maersk.com.png
                data:
                  - linkedinMemberId: ACoAAB2cdEF
                    linkedin_url: linkedin.com/in/ana-ruiz-ops
                    full_name: Ana Ruiz
                    first_name: Ana
                    last_name: Ruiz
                    job_title: Director of Operations
                    job_title_levels:
                      - director
                    job_title_role: operations
                    job_company_name: A.P. Moller - Maersk
                    job_company_website: maersk.com
                    job_company_linkedin_url: linkedin.com/company/halden-freight
                    job_company_employee_count: 240
                    location_name: lisbon, lisbon, portugal
                pagination:
                  nextCursor: c2Nyb2xsXzI
                  total: 2737
        '429':
          $ref: '#/components/responses/RateLimited'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/ServerError'
      security:
        - apiKey: []
components:
  headers:
    RequestId:
      description: The request's id. Quote it when you write to support.
      schema:
        type: string
        example: req_6a1f0c2b9d4e8a7f3c5b2e10
    ChargedUsd:
      description: What this call cost, in US dollars as an exact six-decimal string.
      schema:
        type: string
        example: '0.000500'
    BalanceUsd:
      description: >-
        The organization's balance after this call, in US dollars as an exact
        six-decimal string.
      schema:
        type: string
        example: '9.999500'
    RateLimitLimit:
      description: >-
        The calls allowed in the window of the route's limit with the fewest
        calls left.
      schema:
        type: integer
        example: 20
    RateLimitRemaining:
      description: The calls left in that window.
      schema:
        type: integer
        example: 19
    RateLimitReset:
      description: Seconds until that window resets.
      schema:
        type: integer
        example: 42
    RetryAfter:
      description: Seconds to wait before calling again.
      schema:
        type: integer
        example: 42
  responses:
    RateLimited:
      description: >-
        Too many calls. Wait the seconds in Retry-After, then call again. The
        body is empty.
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        RateLimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
        RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        RateLimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
    Error:
      description: The request was refused. The body names the reason in `error.code`.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: >-
        Something failed on our side and nothing was charged. Retry with
        backoff; quote X-Request-Id if it persists. The body is empty.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - doc_url
          properties:
            code:
              type: string
              description: >-
                Stable and machine-readable: branch on it. It never changes
                meaning.
            message:
              type: string
              description: >-
                A human-readable explanation for logs. It may be reworded at any
                time.
            param:
              type: string
              description: The request field the error is about, when there is one.
            doc_url:
              type: string
              description: The code's entry in the errors reference.
            request_id:
              type: string
              description: >-
                The request's id, as in the X-Request-Id header. Quote it to
                support.
      example:
        error:
          code: insufficient_balance
          message: Your balance cannot cover this call. Add funds and try again.
          doc_url: https://outbound.dev/docs/errors#insufficient_balance
          request_id: req_6a1f0c2b9d4e8a7f3c5b2e10
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        An API key from the console, starting `ob_live_`, sent as
        `Authorization: Bearer <key>`.

````

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