Deeplead Persons API

The Persons API from Deeplead — 5 operation(s) for persons.

Operations 5

POST /persons/search Search persons with their emails and phones #
POST /persons/lookup Look up one person by LinkedIn URL, email, or name and company domain #
POST /persons/email/find Find a person's work email by LinkedIn URL, or full name and company domain #
POST /persons/phone/find Find a person's phone number by LinkedIn URL, email, or full name and company… #
POST /persons/save Save matching persons to contacts (deprecated: use /persons/search with… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/deeplead:deeplead-persons-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

deeplead-persons-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Deeplead Persons API
  version: 1.0.0
  description: Search local businesses, companies and people, and find decision makers with verified work emails and phone numbers. Authenticate with an API key as a Bearer token; up to 120 requests per minute per account, answered with 429 beyond that.
  contact:
    email: support@deeplead.io
    url: https://www.deeplead.io/developers
  termsOfService: https://www.deeplead.io/terms
servers:
- url: https://www.deeplead.io/api/v1
security:
- apiKey: []
tags:
- name: Persons
paths:
  /persons/search:
    post:
      operationId: persons.search
      summary: Search persons with their emails and phones
      description: 'Covers professional contacts only: people in their role at a company, not private individuals. Returns only people with an email or phone, with full contact data, and charges 1 credit per returned person. Page with nextOffset. limit 0 returns only totalCount, free. saveToContacts also stores them in your contacts, where people you already had are refunded. Send an Idempotency-Key header to make retries safe.'
      tags:
      - Persons
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  minLength: 1
                  description: Free text matched against company name, description and keywords
                semantic:
                  type: string
                  minLength: 1
                  description: What the company is and sells, matched by meaning, e.g. "outsourced medical billing for clinics"
                domains:
                  type: array
                  maxItems: 100
                  items:
                    type: string
                  description: Look companies up by domain, e.g. ["stripe.com"]
                hqCountry:
                  type: array
                  items:
                    type: string
                  description: ISO alpha-2 country codes of the headquarters, e.g. ["US", "DE"]
                hqState:
                  type: array
                  items:
                    type: string
                  description: US state names or codes of the headquarters
                employeeBands:
                  type: array
                  items:
                    enum:
                    - 1-10
                    - 11-50
                    - 51-200
                    - 201-500
                    - 501-1,000
                    - 1,001-5,000
                    - 5,001-10,000
                    - 10,001+
                    type: string
                  description: Headcount bands
                revenueRange:
                  type: array
                  items:
                    enum:
                    - <$1M
                    - $1M to <$10M
                    - $10M to <$50M
                    - $50M to <$100M
                    - $100M to <$1B
                    - $1B+
                    type: string
                  description: Annual company revenue bands
                industryNaicsDirect:
                  type: array
                  items:
                    type: string
                  description: NAICS codes
                technologies:
                  type: array
                  items:
                    type: string
                  description: Technologies used by the company
                foundedAfter:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Earliest founding year to include
                foundedBefore:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Latest founding year to include
                monthlyVisitsMin:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                  description: Minimum monthly website visits; known for about 1 in 8 US companies, the rest are excluded
                employeeGrowthMin:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Minimum employee growth on LinkedIn in percent, e.g. 10; known for about 1 in 13 US companies
                fundedAfter:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Year of the last funding round, at least; known for about 1 in 100 US companies
                jobTitle:
                  type: array
                  items:
                    type: string
                  description: Matched as partial text, so "CEO" also finds "Assistant to the CEO"; combine with jobLevel to narrow
                jobTitleExclude:
                  type: array
                  items:
                    type: string
                  description: Job title phrases to exclude
                jobLevel:
                  type: array
                  items:
                    enum:
                    - C-Team
                    - VP
                    - Director
                    - Manager
                    - Staff
                    - Other
                    type: string
                  description: Allowed job seniority levels
                decisionMakersOnly:
                  type: boolean
                  description: C-level, VP or director seniority, or a founder, owner, CEO, managing director or president title
                inCountry:
                  type: array
                  items:
                    type: string
                  description: ISO alpha-2 country codes where the person is based
                personState:
                  type: array
                  items:
                    type: string
                  description: States where the person is based
                personCity:
                  type: array
                  items:
                    type: string
                  description: Cities where the person is based
                organizationIds:
                  type: array
                  items:
                    type: string
                  description: Limit to organizations from /organizations/search
                limit:
                  type: integer
                  minimum: 0
                  maximum: 100
                  default: 25
                  description: Maximum people to return; 0 returns only a free count
                offset:
                  type: integer
                  minimum: 0
                  maximum: 10000
                  default: 0
                  description: Pagination offset; use nextOffset from the previous response
                onePerOrganization:
                  type: boolean
                  default: false
                  description: Return at most one person per company
                saveToContacts:
                  type: boolean
                  default: false
                  description: Save returned people to your Deeplead contacts
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalCount:
                    type: number
                    description: 'With limit 0: all matching people, including those without an email or phone'
                  nextOffset:
                    anyOf:
                    - type: number
                    - type: 'null'
                  chargedCredits:
                    type: number
                  persons:
                    type: array
                    items:
                      type: object
                      properties:
                        personId:
                          anyOf:
                          - type: string
                          - type: 'null'
                        name:
                          anyOf:
                          - type: string
                          - type: 'null'
                        email:
                          anyOf:
                          - type: string
                          - type: 'null'
                        alternateEmails:
                          type: array
                          items:
                            type: string
                        phone:
                          anyOf:
                          - type: string
                          - type: 'null'
                        phones:
                          type: array
                          items:
                            type: string
                        linkedin:
                          anyOf:
                          - type: string
                          - type: 'null'
                        jobTitle:
                          anyOf:
                          - type: string
                          - type: 'null'
                        jobLevel:
                          anyOf:
                          - type: string
                          - type: 'null'
                        jobFunction:
                          anyOf:
                          - type: string
                          - type: 'null'
                        city:
                          anyOf:
                          - type: string
                          - type: 'null'
                        state:
                          anyOf:
                          - type: string
                          - type: 'null'
                        country:
                          anyOf:
                          - type: string
                          - type: 'null'
                        organizationId:
                          anyOf:
                          - type: string
                          - type: 'null'
                        companyName:
                          anyOf:
                          - type: string
                          - type: 'null'
                        companyWebsite:
                          anyOf:
                          - type: string
                          - type: 'null'
                        revenueRange:
                          anyOf:
                          - type: string
                          - type: 'null'
                        naicsCodes:
                          type: array
                          items:
                            type: string
                        foundedYear:
                          anyOf:
                          - type: number
                          - type: 'null'
                        companyMonthlyVisits:
                          anyOf:
                          - type: number
                          - type: 'null'
                        companyEmployeeGrowthRate:
                          anyOf:
                          - type: number
                          - type: 'null'
                          description: Percent
                        companyLastFundingType:
                          anyOf:
                          - type: string
                          - type: 'null'
                        companyLastFundingDate:
                          anyOf:
                          - type: string
                          - type: 'null'
                      required:
                      - personId
                      - name
                      - email
                      - alternateEmails
                      - phone
                      - phones
                      - linkedin
                      - jobTitle
                      - jobLevel
                      - jobFunction
                      - city
                      - state
                      - country
                      - organizationId
                      - companyName
                      - companyWebsite
                      - revenueRange
                      - naicsCodes
                      - foundedYear
                      - companyMonthlyVisits
                      - companyEmployeeGrowthRate
                      - companyLastFundingType
                      - companyLastFundingDate
                required:
                - totalCount
                - nextOffset
                - chargedCredits
                - persons
  /persons/lookup:
    post:
      operationId: persons.lookup
      summary: Look up one person by LinkedIn URL, email, or name and company domain
      description: 'Returns the person with their emails, phones, role and company. Covers professional contacts only: people in their role at a company, not private individuals. Charges 1 credit only when the person is found with an email or phone. saveToContacts also stores them in your contacts. Send an Idempotency-Key header to make retries safe.'
      tags:
      - Persons
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                linkedin:
                  type: string
                  minLength: 1
                  description: e.g. "https://www.linkedin.com/in/jane-doe"
                email:
                  type: string
                  format: email
                  description: Known email address identifying the person
                name:
                  type: string
                  minLength: 3
                  description: Full name, e.g. "Jane Doe"; needs domain
                domain:
                  type: string
                  minLength: 3
                  description: Company domain, e.g. "acme.com"
                saveToContacts:
                  type: boolean
                  default: false
                  description: Save the returned person to your Deeplead contacts
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  found:
                    type: boolean
                  chargedCredits:
                    type: number
                  person:
                    anyOf:
                    - type: object
                      properties:
                        personId:
                          anyOf:
                          - type: string
                          - type: 'null'
                        name:
                          anyOf:
                          - type: string
                          - type: 'null'
                        email:
                          anyOf:
                          - type: string
                          - type: 'null'
                        alternateEmails:
                          type: array
                          items:
                            type: string
                        phone:
                          anyOf:
                          - type: string
                          - type: 'null'
                        phones:
                          type: array
                          items:
                            type: string
                        linkedin:
                          anyOf:
                          - type: string
                          - type: 'null'
                        jobTitle:
                          anyOf:
                          - type: string
                          - type: 'null'
                        jobLevel:
                          anyOf:
                          - type: string
                          - type: 'null'
                        jobFunction:
                          anyOf:
                          - type: string
                          - type: 'null'
                        city:
                          anyOf:
                          - type: string
                          - type: 'null'
                        state:
                          anyOf:
                          - type: string
                          - type: 'null'
                        country:
                          anyOf:
                          - type: string
                          - type: 'null'
                        organizationId:
                          anyOf:
                          - type: string
                          - type: 'null'
                        companyName:
                          anyOf:
                          - type: string
                          - type: 'null'
                        companyWebsite:
                          anyOf:
                          - type: string
                          - type: 'null'
                        revenueRange:
                          anyOf:
                          - type: string
                          - type: 'null'
                        naicsCodes:
                          type: array
                          items:
                            type: string
                        foundedYear:
                          anyOf:
                          - type: number
                          - type: 'null'
                        companyMonthlyVisits:
                          anyOf:
                          - type: number
                          - type: 'null'
                        companyEmployeeGrowthRate:
                          anyOf:
                          - type: number
                          - type: 'null'
                          description: Percent
                        companyLastFundingType:
                          anyOf:
                          - type: string
                          - type: 'null'
                        companyLastFundingDate:
                          anyOf:
                          - type: string
                          - type: 'null'
                      required:
                      - personId
                      - name
                      - email
                      - alternateEmails
                      - phone
                      - phones
                      - linkedin
                      - jobTitle
                      - jobLevel
                      - jobFunction
                      - city
                      - state
                      - country
                      - organizationId
                      - companyName
                      - companyWebsite
                      - revenueRange
                      - naicsCodes
                      - foundedYear
                      - companyMonthlyVisits
                      - companyEmployeeGrowthRate
                      - companyLastFundingType
                      - companyLastFundingDate
                    - type: 'null'
                required:
                - found
                - chargedCredits
                - person
  /persons/email/find:
    post:
      operationId: persons.findEmail
      summary: Find a person's work email by LinkedIn URL, or full name and company domain
      description: Charges 1 credit only when an email is found. Send an Idempotency-Key header to make retries safe.
      tags:
      - Persons
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                linkedin:
                  type: string
                  minLength: 1
                  description: e.g. "https://www.linkedin.com/in/jane-doe"
                name:
                  type: string
                  minLength: 3
                  description: Full name, e.g. "Jane Doe"; needs domain
                domain:
                  type: string
                  minLength: 3
                  description: Company domain, e.g. "acme.com"
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  found:
                    type: boolean
                  chargedCredits:
                    type: number
                  email:
                    anyOf:
                    - type: string
                    - type: 'null'
                  alternateEmails:
                    type: array
                    items:
                      type: string
                  name:
                    anyOf:
                    - type: string
                    - type: 'null'
                  jobTitle:
                    anyOf:
                    - type: string
                    - type: 'null'
                  companyName:
                    anyOf:
                    - type: string
                    - type: 'null'
                  companyWebsite:
                    anyOf:
                    - type: string
                    - type: 'null'
                  linkedin:
                    anyOf:
                    - type: string
                    - type: 'null'
                required:
                - found
                - chargedCredits
                - email
                - alternateEmails
                - name
                - jobTitle
                - companyName
                - companyWebsite
                - linkedin
  /persons/phone/find:
    post:
      operationId: persons.findPhone
      summary: Find a person's phone number by LinkedIn URL, email, or full name and company…
      description: 'Covers professional contacts only: people in their role at a company, not private individuals. Charges 2 credits only when a phone number is found. Send an Idempotency-Key header to make retries safe.'
      tags:
      - Persons
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                linkedin:
                  type: string
                  minLength: 1
                  description: e.g. "https://www.linkedin.com/in/jane-doe"
                email:
                  type: string
                  format: email
                  description: Known email address identifying the person
                name:
                  type: string
                  minLength: 3
                  description: Full name, e.g. "Jane Doe"; needs domain
                domain:
                  type: string
                  minLength: 3
                  description: Company domain, e.g. "acme.com"
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  found:
                    type: boolean
                  chargedCredits:
                    type: number
                  phone:
                    anyOf:
                    - type: string
                    - type: 'null'
                  phones:
                    type: array
                    items:
                      type: string
                  name:
                    anyOf:
                    - type: string
                    - type: 'null'
                  jobTitle:
                    anyOf:
                    - type: string
                    - type: 'null'
                  companyName:
                    anyOf:
                    - type: string
                    - type: 'null'
                  companyWebsite:
                    anyOf:
                    - type: string
                    - type: 'null'
                  linkedin:
                    anyOf:
                    - type: string
                    - type: 'null'
                required:
                - found
                - chargedCredits
                - phone
                - phones
                - name
                - jobTitle
                - companyName
                - companyWebsite
                - linkedin
  /persons/save:
    post:
      operationId: persons.save
      summary: 'Save matching persons to contacts (deprecated: use /persons/search with…'
      description: Returns only people with an email or phone, so it can return fewer than count. Charges 1 credit per person newly saved; people already in your contacts are refunded. Send an Idempotency-Key header to make retries safe.
      deprecated: true
      tags:
      - Persons
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  minLength: 1
                  description: Free text matched against company name, description and keywords
                semantic:
                  type: string
                  minLength: 1
                  description: What the company is and sells, matched by meaning, e.g. "outsourced medical billing for clinics"
                domains:
                  type: array
                  maxItems: 100
                  items:
                    type: string
                  description: Look companies up by domain, e.g. ["stripe.com"]
                hqCountry:
                  type: array
                  items:
                    type: string
                  description: ISO alpha-2 country codes of the headquarters, e.g. ["US", "DE"]
                hqState:
                  type: array
                  items:
                    type: string
                  description: US state names or codes of the headquarters
                employeeBands:
                  type: array
                  items:
                    enum:
                    - 1-10
                    - 11-50
                    - 51-200
                    - 201-500
                    - 501-1,000
                    - 1,001-5,000
                    - 5,001-10,000
                    - 10,001+
                    type: string
                  description: Headcount bands
                revenueRange:
                  type: array
                  items:
                    enum:
                    - <$1M
                    - $1M to <$10M
                    - $10M to <$50M
                    - $50M to <$100M
                    - $100M to <$1B
                    - $1B+
                    type: string
                  description: Annual company revenue bands
                industryNaicsDirect:
                  type: array
                  items:
                    type: string
                  description: NAICS codes
                technologies:
                  type: array
                  items:
                    type: string
                  description: Technologies used by the company
                foundedAfter:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Earliest founding year to include
                foundedBefore:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Latest founding year to include
                monthlyVisitsMin:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                  description: Minimum monthly website visits; known for about 1 in 8 US companies, the rest are excluded
                employeeGrowthMin:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Minimum employee growth on LinkedIn in percent, e.g. 10; known for about 1 in 13 US companies
                fundedAfter:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Year of the last funding round, at least; known for about 1 in 100 US companies
                jobTitle:
                  type: array
                  items:
                    type: string
                  description: Matched as partial text, so "CEO" also finds "Assistant to the CEO"; combine with jobLevel to narrow
                jobTitleExclude:
                  type: array
                  items:
                    type: string
                  description: Job title phrases to exclude
                jobLevel:
                  type: array
                  items:
                    enum:
                    - C-Team
                    - VP
                    - Director
                    - Manager
                    - Staff
                    - Other
                    type: string
                  description: Allowed job seniority levels
                decisionMakersOnly:
                  type: boolean
                  description: C-level, VP or director seniority, or a founder, owner, CEO, managing director or president title
                inCountry:
                  type: array
                  items:
                    type: string
                  description: ISO alpha-2 country codes where the person is based
                personState:
                  type: array
                  items:
                    type: string
                  description: States where the person is based
                personCity:
                  type: array
                  items:
                    type: string
                  description: Cities where the person is based
                organizationIds:
                  type: array
                  items:
                    type: string
                  description: Limit to organizations from /organizations/search
                count:
                  type: integer
                  minimum: 1
                  maximum: 1000
                onePerOrganization:
                  type: boolean
                  default: true
              required:
              - count
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  chargedCredits:
                    type: number
                  contacts:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          anyOf:
                          - type: string
                          - type: 'null'
                        email:
                          anyOf:
                          - type: string
                          - type: 'null'
                        phone:
                          anyOf:
                          - type: string
                          - type: 'null'
                        jobTitle:
                          anyOf:
                          - type: string
                          - type: 'null'
                        jobLevel:
                          anyOf:
                          - type: string
                          - type: 'null'
                        city:
                          anyOf:
                          - type: string
                          - type: 'null'
                        state:
                          anyOf:
                          - type: string
                          - type: 'null'
                        companyName:
                          anyOf:
                          - type: string
                          - type: 'null'
                        website:
                          anyOf:
                          - type: string
                          - type: 'null'
                        linkedin:
                          anyOf:
                          - type: string
                          - type: 'null'
                        organizationId:
                          anyOf:
                          - type: string
                          - type: 'null'
                      required:
                      - name
                      - email
                      - phone
                      - jobTitle
                      - jobLevel
                      - city
                      - state
                      - companyName
                      - website
                      - linkedin
                      - organizationId
                required:
                - chargedCredits
                - contacts
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer