View as Markdown

People Count

POST/v2/people/count

Count the people a People Search filter set matches, without paging through them, and break the count down by country, department and seniority. Takes the same filters as POST /v2/people/search, so total is the search total_count for those filters. Add group_by for one breakdown per dimension (each value with its exact count, plus how many people have no value), or pivot: true for one row per combination, e.g. how many Directors in Sales there are in each country. Department and seniority are read off the jobs the filters matched. The same request is answered from a cache for up to an hour; metadata.counted_at says when its counts were taken. Free: no credits. Uses 1 unit of the search rate limit. Authenticate with your API key in the x-api-key header.

Body parameters

  • filtersobjectrequired

    The same filters as POST /v2/people/search, with the same rules: active filters AND together, at least one include condition is required, and job and company filters must match within the same position. total is the search total_count for these filters. person_linkedin_url is not supported here, and max_person_per_company does not apply: counts are of every matched person.

    Child attributes
    • personobjectoptional

      Match the person themselves, by id, by name, or by LinkedIn URL. id and name are OR-ed with each other - a person matching either is returned - and the result AND-s with every other filter, so a picked person and a typed name can sit side by side in one request. linkedin_url looks up specific profiles and cannot be combined with the other two.

      Child attributes
      • idobjectoptional

        Match by person id.

        FieldTypeDescription
        includestring[]Only these people. Use the id values returned by People Search results, People Enrich, or Search Suggestions with type: "person". Max 100 ids.
        excludestring[]Reject these people (same id values). Max 100 ids.
      • nameobjectoptional

        Match by name.

        FieldTypeDescription
        includestring[]Names to match. Every word of a term must appear somewhere in the name, in any order, so "Dmytro Shulha" matches "Dmytro Shulha, PhD" and "Helena Calero" matches "Helena Montoya-Calero". Case-insensitive; diacritics are significant ("Jose" does not match "José"). Any single term qualifies. Max 500 items.
        excludestring[]Names to reject, matched the same way. Max 500 items.
      • linkedin_urlobjectoptional

        Look up specific profiles by URL.

        FieldTypeDescription
        includestring[]Look up specific profiles by LinkedIn URL. The URLs pick the people and every other filter narrows them - except company.name.include, which here only picks which position is returned as primary_position. Cannot be combined with person.id or person.name. Results keep the order of the URLs (sort_by does not apply) and each carries the matched_url it was found by. 1-50 urls.

        Example: ["https://www.linkedin.com/in/emily-carter-sample/"]

      Example
      {
        "filters": {
          "person": {
            "name": {
              "include": [
                "Dmytro Shulha"
              ]
            }
          }
        }
      }
    • person_locationobjectoptional

      Where the person is based (their profile location), not their employer - for the company HQ use company_location with headquarters_only: true. Unified location strings resolved to country / state / city, or a region (Europe, EMEA, APAC...); a region minus a country is include ["Europe"], exclude ["Germany"].

      FieldTypeDescription
      includestring[]Match these locations (any of). Unified strings like "United States", "Texas, United States", "San Francisco, California, United States" - or a region like "EMEA", "APAC", "Europe", "Latin America", which expands to its member countries (full list with member countries: GET /v2/enums/regions). Max 100 items, each 2-200 chars. Any value that does not resolve fails the whole request with 400 (invalid_value, naming it in invalid_values), even beside values that do: nothing is silently dropped. Look values up with POST /v2/search/suggest (type location).
      excludestring[]Reject these locations (same unified-string format; a region minus a country works: include ["Europe"], exclude ["Germany"]). Max 100 items, each 2-200 chars. A value that does not resolve is skipped, so check the spelling: a misspelled exclude ("Germny") leaves that place in the results.
      Example
      {
        "filters": {
          "person_location": {
            "include": [
              "Europe"
            ],
            "exclude": [
              "Germany"
            ]
          }
        }
      }
    • company_keywordsobjectoptional

      Free-text keyword match against the person's COMPANY (see Keyword sources). Defaults to the specialties source only - the broader text sources match far more companies and are much likelier to exceed the resolution limit. Use POST /v2/search/suggest with type: "company_keywords" for accepted values. Does NOT affect ordering: this resolves to a company-id filter and contributes no relevance score.

      FieldTypeDescription
      includestring[]requiredPhrases to search for. 1-20 items, 3-100 chars each. Matched as phrases: a multi-word entry like "email finder" requires those words adjacent and in order within one of the selected source fields, not merely present somewhere in it.
      excludestring[]Phrases that disqualify a company. 0-20 items. Matched as phrases, same as include.
      include_allbooleanWhen true, every phrase in include must match; otherwise any single match qualifies. default: false.
      sourcesenum[]Restrict matching to these source fields (see Keyword sources). Omit to use the default source set - see this company_keywords filter's own description above for what that is.
      Example
      {
        "filters": {
          "company_keywords": {
            "include": [
              "email marketing"
            ],
            "sources": [
              "specialties"
            ]
          }
        }
      }
    • person_job_titleobjectoptional

      Job title match. Structured include/exclude + match_mode (CONTAINS/EXACT/SMART), or a boolean_search expression.

      FieldTypeDescription
      includestring[]Job titles to match. Max 100 items, each 2-100 chars. Combined per match_mode. Known abbreviations also match their canonical spelling and vice versa (e.g. "CEO" matches "Chief Executive Officer"), however you spell them - "VP of Marketing", "VP, Marketing" and "Marketing VP" all match what "VP Marketing" matches. Under CONTAINS, terms match any of the roles a position carries - including the secondary roles of combined titles like "Founder & CEO" and the original title text.
      excludestring[]Job titles to reject. Max 100 items, each 2-100 chars.
      match_modeenumCONTAINS = the title contains every word of the term, in any order; connector words (of, and, the, ...) are ignored, so "Director of Sales Enablement" also matches "Director, Sales Enablement". EXACT = the person's LinkedIn title is exactly the term, so "founder" does not match "Founder & CEO", "Founder of Acme LLC" or "Fondateur" - use CONTAINS for those. SMART = CONTAINS plus AI-suggested titles the same people hold (synonyms, translations for your locations, related roles - see smart_level), and exclude widened with the other spellings of the excluded roles ("Intern" also excludes "Trainee", "Praktikant"); what was added is listed in metadata.smart_job_titles, and POST /v2/search/smart-job-titles previews them with how many people each adds. Applies to include/exclude; ignored when boolean_search is set. default: "CONTAINS".

      Allowed values: CONTAINS EXACT SMART

      smart_levelenumHow far match_mode SMART reaches. SAME_ROLE = other ways to write the same role (synonyms, abbreviations, plurals, translations): "VP of Sales" -> "Sales VP". SIMILAR (default) = also closely related roles of the same function and level: "Head of Sales" -> "Sales Director". RELATED = also broader roles in the same function: "SDR" -> "Account Executive". Ignored unless match_mode is SMART. default: "SIMILAR".

      Allowed values: SAME_ROLE SIMILAR RELATED

      boolean_searchstringBoolean / Cartesian title query, e.g. "(CEO OR CTO) AND !Intern". Syntax: bareword=contains; 'single quotes'=contains too, and the way to write a title with a space in it - 'vp marketing' matches exactly what include: ["vp marketing"] matches; "double quotes"=exact; backticks=words in order with connectors bridged, so vp marketing finds "VP of Marketing" but not "VP Sales and Marketing" or "Marketing VP"; !=exclude, AND/OR, ()=grouping. Max 500 terms, depth 5, each term 2-100 chars. AND and OR cannot be mixed at the same nesting level - use parentheses to group. Mutually exclusive with include/exclude. max length: 20000.
      Example
      {
        "filters": {
          "person_job_title": {
            "include": [
              "Product Marketing Manager",
              "Growth Marketing Manager"
            ],
            "exclude": [
              "Assistant"
            ],
            "match_mode": "CONTAINS"
          }
        }
      }
    • person_seniorityobjectoptional

      Seniority (see Seniorities).

      FieldTypeDescription
      includeenum[]Seniority levels to match (any of). See Seniorities.
      excludeenum[]Seniority levels to reject. See Seniorities.
      Example
      {
        "filters": {
          "person_seniority": {
            "include": [
              "C-Suite",
              "VP",
              "Director"
            ]
          }
        }
      }
    • person_departmentobjectoptional

      Department (see Departments).

      FieldTypeDescription
      includeenum[]Departments to match (any of). Accepts a department group ("Sales", "Legal") or a specific sub-department ("Sales Operations", "Founder"). A group matches everyone in it, including people with no specific sub-department; a sub-department matches only that sub-department. See Departments.
      excludeenum[]Departments to reject. A group rejects everyone in it, including people with no specific sub-department; a sub-department rejects only that sub-department. See Departments.
      Example
      {
        "filters": {
          "person_department": {
            "include": [
              "Marketing",
              "Sales"
            ],
            "exclude": [
              "Accounting"
            ]
          }
        }
      }
    • person_months_in_current_roleobjectoptional

      Months in the current role (tenure of the active position). Integer months 0-600.

      FieldTypeDescription
      minintegerMinimum whole months (inclusive), 0-600. Optional. min: 0, max: 600.
      maxintegerMaximum whole months (inclusive), 0-600, must be >= min. Optional. min: 0, max: 600.
      Example
      {
        "filters": {
          "person_months_in_current_role": {
            "min": 6,
            "max": 24
          }
        }
      }
    • person_months_in_current_companyobjectoptional

      Months at the current company (tenure since joining). Integer months 0-600.

      FieldTypeDescription
      minintegerMinimum whole months (inclusive), 0-600. Optional. min: 0, max: 600.
      maxintegerMaximum whole months (inclusive), 0-600, must be >= min. Optional. min: 0, max: 600.
      Example
      {
        "filters": {
          "person_months_in_current_company": {
            "min": 12
          }
        }
      }
    • person_job_changeobjectoptional

      Recent job change: current role started within timeframe_months, optionally narrowed by change_type.

      FieldTypeDescription
      timeframe_monthsintegerrequiredMonths since the current role started, counted in CALENDAR months the way LinkedIn counts them: a role is "N months" if it spans N calendar months inclusive, so a role begun any time in August is 2 months old on 1 September. timeframe_months: 1 therefore matches only roles begun in the current month. Any whole number from 1 to 1000. Replaces the former timeframe_days, which accepted only 30, 60, 90, 180, 270 or 365. min: 1, max: 1000.

      Example: 3

      change_typeenumany = any recent role change; new_company = also changed company; promotion = changed role at the same company (approximation, includes lateral moves). default: "any".

      Allowed values: any promotion new_company

      Example
      {
        "filters": {
          "person_job_change": {
            "timeframe_months": 3,
            "change_type": "new_company"
          }
        }
      }
    • companyobjectoptional

      Company the person works at - by our company id, by domain, by name, or by LinkedIn numeric linkedin_id.

      Child attributes
      • idobjectoptional

        Match by company id (the id returned by Company Search and in People Search results). Composes with every other filter: pair it with person_job_title to narrow a company list down to the roles you want. An exact company.name combines with it as OR (people at any listed id or any listed name); company.domain, company_keywords and a CONTAINS company.name AND with it.

        FieldTypeDescription
        includestring[]Only people who work at one of these companies. Use the id values returned by Company Search or in People Search results. Combines with an exact company.name as OR (a person at any listed id or any listed name); company.domain, company_keywords and a CONTAINS company.name still narrow it. Max 20000 ids.
        excludestring[]Reject people who work at any of these companies (same id values). Max 20000 ids.
      • domainobjectoptional

        Match by company website domain. Resolved to the same company-id constraint as company.id, so the two AND together when both are given.

        FieldTypeDescription
        includestring[]Only people who work at the organization that owns one of these domains, e.g. "stripe.com" - see match_mode for which of its company pages count. Scheme, "www." and any path are stripped. Max 100 items.
        excludestring[]Reject people whose company is on one of these domains.
        match_modeenumWhich company pages an include domain stands for. ORGANIZATION (default) = every company page that belongs to the organization owning the domain: its main page, its regional, brand and subsidiary pages. A small page that only links to the domain - a business hosted on a platform, a same-named company - is left out. PRIMARY = only the one main company page of the domain, leaving out the organization's other pages. LINKEDIN_WEBSITE = only the organization's pages whose own LinkedIn website is on the domain, so the domain is never inferred: "stripe.com", "stripe.com/jobs" and "jobs.stripe.com" all match "stripe.com"; a page that lists another site, or no website, does not. exclude is not affected: it always rejects every company on the domain. default: "ORGANIZATION".

        Allowed values: ORGANIZATION PRIMARY LINKEDIN_WEBSITE

        Example
        {
          "filters": {
            "company": {
              "domain": {
                "include": [
                  "stripe.com"
                ]
              }
            }
          }
        }
      • nameobjectoptional

        Match by company name - exact by default, or the term within the name with match_mode: CONTAINS. An exact name combines with company.id as OR (people at any listed name or any listed id); a CONTAINS name ANDs with it. Beside person.linkedin_url, include is only a primary-position hint, not a filter (exclude still filters).

        FieldTypeDescription
        includestring[]Company names to match. Combined per match_mode. With EXACT, a value shaped like a website ("stripe.com", "https://www.stripe.com/about") also matches the company on that domain. Max 500 items.
        excludestring[]Company names to reject. With EXACT, a website-shaped value also rejects the company on that domain.
        match_modeenumEXACT (default) = the whole company name equals the term, case-insensitive. CONTAINS = the name contains the term as written, case-insensitive, starting at a word ("Haven Health" matches "Haven Health Management" and "New Haven Healthcare"). A match inside a longer word ("nails" in "AllNailSpa") comes back only for a term that matches no name at a word start, and reliably only for a single-word term. A multi-word term that matches no name as written falls back to names holding all of its words in any order ("Oak Park River Forest High School" matches "Oak Park and River Forest High School"). An exclude term matches anywhere in the name ("soft" also rejects "Microsoft"). Resolved against the company index and capped; narrow the term if the request is rejected. default: "EXACT".

        Allowed values: EXACT CONTAINS

      • linkedin_idobjectoptional

        Only people who work at these LinkedIn companies, by LinkedIn's numeric company id. Composes with every other filter as an AND, including with company.name (unlike company.id, which ORs with an exact name). Have a company LinkedIn URL instead? Use company.linkedin_url.

        FieldTypeDescription
        includeinteger[]Match these LinkedIn companies. LinkedIn's numeric company id. Company LinkedIn URLs are not accepted here: People Search takes them as company.linkedin_url; elsewhere enrich the company by linkedin_url and put the id it returns in company.id. Max 500 items.

        Example: [162479]

        excludeinteger[]Reject these LinkedIn companies. LinkedIn's numeric company id. Company LinkedIn URLs are not accepted here: People Search takes them as company.linkedin_url; elsewhere enrich the company by linkedin_url and put the id it returns in company.id. Max 500 items.
        Example
        {
          "filters": {
            "company": {
              "linkedin_id": {
                "include": [
                  2135371
                ]
              }
            }
          }
        }
      • linkedin_urlobjectoptional

        Match by LinkedIn company URL (https://www.linkedin.com/company/stripe/ - vanity slug or numeric id). Each URL is resolved to the companies we hold for that LinkedIn page and then works exactly like company.id: its includes join the company.id includes (people at any of them), its excludes the company.id excludes. A URL we know no company for matches nobody (200, empty page); a value that is not a LinkedIn company URL is a 400 (invalid_format).

        FieldTypeDescription
        includestring[]Only people who work at these companies, by LinkedIn company page URL (vanity slug or numeric id, Sales Navigator company URLs too). A URL we know no company for matches nobody. Max 500 items.

        Example: ["https://www.linkedin.com/company/stripe/"]

        excludestring[]Reject people who work at these companies, by LinkedIn company page URL. Max 500 items.
        Example
        {
          "filters": {
            "company": {
              "linkedin_url": {
                "include": [
                  "https://www.linkedin.com/company/stripe/"
                ]
              }
            }
          }
        }
      Example
      {
        "filters": {
          "company": {
            "name": {
              "include": [
                "Intercom",
                "Stripe"
              ]
            }
          }
        }
      }
    • company_industryobjectoptional

      Industry of the person's company (see Industries; any casing). An unknown value, even one in a list of good ones, fails the request with 400 value_not_allowed, with suggested_values for near spellings.

      FieldTypeDescription
      includestring[]Industries or industry GROUPS to match (any of). A group name matches every industry in that category. See Industries for both.

      Example: ["Agriculture & Mining","Software Development"]

      excludestring[]Industries or industry GROUPS to reject. A group name rejects every industry in that category. See Industries for both.
      Example
      {
        "filters": {
          "company_industry": {
            "include": [
              "Software Development",
              "IT Services & IT Consulting"
            ],
            "exclude": [
              "Staffing & Recruiting"
            ]
          }
        }
      }
    • company_headcount_rangeenum[]optional

      Bucketed headcount range of the company (see Employee ranges).

      Example
      {
        "filters": {
          "company_headcount_range": [
            "51-200",
            "201-500"
          ]
        }
      }
    • company_countryobjectoptional

      Country of the person's company, as ISO alpha-2 codes (Countries). Any resolved office country counts by default (headquarters included) - same contract as company_location and as Company Search; see headquarters_only. For city/state-level filtering use company_location. sort_by=company_country always orders by the registered headquarters country, independent of headquarters_only.

      FieldTypeDescription
      includestring[]Match values in this list - any single value qualifies (exact, case-insensitive). Optional - provide include and/or exclude.
      excludestring[]Reject values in this list. 0-500 items.
      headquarters_onlybooleanWhen true, match the company headquarters country only. When false (default), any office country we have resolved counts, headquarters included: includes widen (a company with an office there matches) and excludes tighten symmetrically (a company with an office there is rejected). default: false.
      Example
      {
        "filters": {
          "company_country": {
            "include": [
              "US",
              "CA",
              "GB"
            ],
            "headquarters_only": true
          }
        }
      }
    • company_typeobjectoptional

      Legal/ownership type of the person's company (see Company types).

      FieldTypeDescription
      includeenum[]Company types to match (any of).

      Allowed values: Privately Held Public Company Non Profit Self Owned Self Employed Partnership Educational Government Agency Unknown

      excludeenum[]Company types to reject.

      Allowed values: Privately Held Public Company Non Profit Self Owned Self Employed Partnership Educational Government Agency Unknown

      Example
      {
        "filters": {
          "company_type": {
            "include": [
              "Privately Held",
              "Public Company"
            ]
          }
        }
      }
    • company_business_typeobjectoptional

      Audience type of the person's company (see Business types). Values: B2B, B2C, Nonprofit, Unknown.

      FieldTypeDescription
      includeenum[]Business types to match (any of).

      Allowed values: B2B B2C Nonprofit Unknown

      excludeenum[]Business types to reject.

      Allowed values: B2B B2C Nonprofit Unknown

      Example
      {
        "filters": {
          "company_business_type": {
            "include": [
              "B2B"
            ]
          }
        }
      }
    • company_revenue_streamobjectoptional

      Revenue model of the person's company (see Revenue streams).

      FieldTypeDescription
      includeenum[]Revenue streams to match (any of).

      Allowed values: Professional Services Product Sales Grants / Donations Subscriptions / Recurring Project / Contract Work Event / Experience Revenue Transaction Fees Rental / Leasing Advertising Financial Services Licensing / IP Unknown

      excludeenum[]Revenue streams to reject.

      Allowed values: Professional Services Product Sales Grants / Donations Subscriptions / Recurring Project / Contract Work Event / Experience Revenue Transaction Fees Rental / Leasing Advertising Financial Services Licensing / IP Unknown

      Example
      {
        "filters": {
          "company_revenue_stream": {
            "include": [
              "Subscriptions / Recurring",
              "Product Sales"
            ]
          }
        }
      }
    • company_ai_industryobjectoptional

      AI industry of the person's company (see AI Industries): an industry group or a sub-industry. A group matches all its sub-industries. Casing does not matter, and "&" is read as "and".

      FieldTypeDescription
      includeenum[]AI industries to match (any of). A group matches all its sub-industries; a sub-industry matches only itself.

      Allowed values: Software and IT Healthcare and Life Sciences Finance and Insurance Energy, Utilities and Environmental Services Industrial Manufacturing and Materials Real Estate and Construction Retail and Consumer Channels Transportation and Logistics Professional, Business and Legal Services Education and Training Media, Entertainment and Culture Hospitality, Food and Travel Services Personal and Home Services Agriculture, Forestry and Fisheries Automotive, Aerospace and Defense Manufacturing Non-Profit, Public Sector and Education (Non-Commercial) AI and ML Platforms Agriculture and Forestry Software Blockchain and Web3 Carriers and ISPs Cloud and Infrastructure Software Consumer Software Data and Analytics Software Developer Tools and Platforms Enterprise Software Solutions Financial Services Software Government and Public Sector Software Hardware and Networking Healthcare Software IoT and Embedded Systems Software IT Services and Cybersecurity Manufacturing Software Metaverse, AR/VR and Other Emerging Platforms Quantum Computing Software Real Estate and PropTech Software Retail and Ecommerce Software Security and Identity Software Biotechnology and Pharmaceuticals Digital Health and Telemedicine Hospitals, Clinics and Outpatient Care Medical Devices and Diagnostic Equipment Medical Testing and Clinical Laboratories Mental Health and Rehabilitation Services Pharma Distribution and CRO Services Banking and Lending Capital Markets and Cryptocurrency Cryptocurrency and Blockchain Services Financial Services Platforms Insurance and InsurTech Investment Management and WealthTech Venture Capital and Private Equity Electric Power and Grid Management Nuclear and Advanced Generation Oil and Gas Exploration, Production and Services Renewable Energy and Clean Tech Sustainability Tech and Environmental Consulting Water, Waste and Environmental Management 3D Printing and Advanced Manufacturing Building Materials and Chemicals Consumer Goods and Appliances Electronics and Computer Equipment Food, Beverage and Tobacco Production Industrial Machinery and Equipment Mining, Metals and Natural Resources Architecture, Urban Planning and Green Building Commercial Real Estate Development and Leasing Construction and Civil Engineering Services Property and Facility Management Residential Real Estate Development and Brokerage Specialty Construction Products Automotive Service and Collision Repair Brick-and-Mortar Retail Media and Entertainment Retail Online Commerce and Marketplaces Retail Technology Specialty Auctions and Collectibles Wholesale and Distribution Autonomous Vehicles and Drone Delivery Car and Truck Rental Freight and Cargo Logistics Technology Passenger Transit and Mobility Warehousing, Fulfillment and 3PL Services Accounting, Audit and Financial Advisory Advertising, Marketing and Multimedia Design Defense and Government Services Facilities Management and Commercial Cleaning Human Resources, Staffing and Recruitment Legal Services and Regulatory Compliance Management Consulting and Strategy Consulting Translation, Document and Information Management Corporate Training and Learning and Development E-Learning Platforms and EdTech K-12 and Higher Education Institutions Test Prep, Tutoring and After-School Services Vocational Training and Certification Programs Digital Publishing and Streaming Platforms Film, Television and Broadcasting Gaming, Esports and Interactive Entertainment Live Events, Experiences and Ticketed Attractions Museums, Art Galleries and Cultural Preservation Music, Audio and Podcast Services Sports and Recreation Food and Beverage Services Hospitality and Lodging Travel Agencies and Leisure Services Funeral Homes and Related Services Home Services Personal Care and Wellness Veterinary Care and Pet Services AgriTech and Precision Farming Aquaculture and Fisheries Crop Farming and Livestock Production Farming Equipment and Supplies Forestry, Logging and Wood Products Mining and Extraction Aviation and Aerospace Component Manufacturing Automotive and Rental Retail Commercial Space Innovation Defense Systems and Marine Manufacturing Motor Vehicle and Parts Manufacturing Government Administration and Municipal Services NGOs, Charities and Community Organizations Public Healthcare and Social Services Public/Private Research Institutions and Educational Foundations Student Organizations and Campus Services

      excludeenum[]AI industries to reject. A group rejects all its sub-industries; a sub-industry rejects only itself.

      Allowed values: Software and IT Healthcare and Life Sciences Finance and Insurance Energy, Utilities and Environmental Services Industrial Manufacturing and Materials Real Estate and Construction Retail and Consumer Channels Transportation and Logistics Professional, Business and Legal Services Education and Training Media, Entertainment and Culture Hospitality, Food and Travel Services Personal and Home Services Agriculture, Forestry and Fisheries Automotive, Aerospace and Defense Manufacturing Non-Profit, Public Sector and Education (Non-Commercial) AI and ML Platforms Agriculture and Forestry Software Blockchain and Web3 Carriers and ISPs Cloud and Infrastructure Software Consumer Software Data and Analytics Software Developer Tools and Platforms Enterprise Software Solutions Financial Services Software Government and Public Sector Software Hardware and Networking Healthcare Software IoT and Embedded Systems Software IT Services and Cybersecurity Manufacturing Software Metaverse, AR/VR and Other Emerging Platforms Quantum Computing Software Real Estate and PropTech Software Retail and Ecommerce Software Security and Identity Software Biotechnology and Pharmaceuticals Digital Health and Telemedicine Hospitals, Clinics and Outpatient Care Medical Devices and Diagnostic Equipment Medical Testing and Clinical Laboratories Mental Health and Rehabilitation Services Pharma Distribution and CRO Services Banking and Lending Capital Markets and Cryptocurrency Cryptocurrency and Blockchain Services Financial Services Platforms Insurance and InsurTech Investment Management and WealthTech Venture Capital and Private Equity Electric Power and Grid Management Nuclear and Advanced Generation Oil and Gas Exploration, Production and Services Renewable Energy and Clean Tech Sustainability Tech and Environmental Consulting Water, Waste and Environmental Management 3D Printing and Advanced Manufacturing Building Materials and Chemicals Consumer Goods and Appliances Electronics and Computer Equipment Food, Beverage and Tobacco Production Industrial Machinery and Equipment Mining, Metals and Natural Resources Architecture, Urban Planning and Green Building Commercial Real Estate Development and Leasing Construction and Civil Engineering Services Property and Facility Management Residential Real Estate Development and Brokerage Specialty Construction Products Automotive Service and Collision Repair Brick-and-Mortar Retail Media and Entertainment Retail Online Commerce and Marketplaces Retail Technology Specialty Auctions and Collectibles Wholesale and Distribution Autonomous Vehicles and Drone Delivery Car and Truck Rental Freight and Cargo Logistics Technology Passenger Transit and Mobility Warehousing, Fulfillment and 3PL Services Accounting, Audit and Financial Advisory Advertising, Marketing and Multimedia Design Defense and Government Services Facilities Management and Commercial Cleaning Human Resources, Staffing and Recruitment Legal Services and Regulatory Compliance Management Consulting and Strategy Consulting Translation, Document and Information Management Corporate Training and Learning and Development E-Learning Platforms and EdTech K-12 and Higher Education Institutions Test Prep, Tutoring and After-School Services Vocational Training and Certification Programs Digital Publishing and Streaming Platforms Film, Television and Broadcasting Gaming, Esports and Interactive Entertainment Live Events, Experiences and Ticketed Attractions Museums, Art Galleries and Cultural Preservation Music, Audio and Podcast Services Sports and Recreation Food and Beverage Services Hospitality and Lodging Travel Agencies and Leisure Services Funeral Homes and Related Services Home Services Personal Care and Wellness Veterinary Care and Pet Services AgriTech and Precision Farming Aquaculture and Fisheries Crop Farming and Livestock Production Farming Equipment and Supplies Forestry, Logging and Wood Products Mining and Extraction Aviation and Aerospace Component Manufacturing Automotive and Rental Retail Commercial Space Innovation Defense Systems and Marine Manufacturing Motor Vehicle and Parts Manufacturing Government Administration and Municipal Services NGOs, Charities and Community Organizations Public Healthcare and Social Services Public/Private Research Institutions and Educational Foundations Student Organizations and Campus Services

      Example
      {
        "filters": {
          "company_ai_industry": {
            "include": [
              "Finance and Insurance"
            ],
            "exclude": [
              "Banking and Lending"
            ]
          }
        }
      }
    • company_foundedobjectoptional

      Founded-year range of the person's company. min/max are inclusive; either may be omitted.

      FieldTypeDescription
      minnumberLower bound (inclusive). Optional.
      maxnumberUpper bound (inclusive). Must be >= min. Optional.
      Example
      {
        "filters": {
          "company_founded": {
            "min": 2015,
            "max": 2023
          }
        }
      }
    • company_headcount_customobjectoptional

      Raw headcount range of the person's company. min/max are inclusive; either may be omitted.

      FieldTypeDescription
      minnumberLower bound (inclusive). Optional.
      maxnumberUpper bound (inclusive). Must be >= min. Optional.
      Example
      {
        "filters": {
          "company_headcount_custom": {
            "min": 50,
            "max": 1000
          }
        }
      }
    • company_headcount_by_departmentobject[]optional

      Headcount of the person's company by department, optionally within one country or state. Rows AND together; each row is a department plus min and/or max people (a max also matches companies with nobody in the department). 1-10 rows.

      FieldTypeDescription
      departmentenumrequiredDepartment group ("Sales") or sub-department ("Sales Operations"); see Departments. Casing does not matter.

      Example: "Product Development"

      locationstringCount only people located in this ONE location, which must resolve to a country or a state ("Germany", "California, United States"). A city or a multi-country region answers 400. Omit for anywhere. 2-200 chars.

      Example: "California, United States"

      minintegerAt least this many people (inclusive). Integer 0-1,000,000.

      Example: 10

      maxintegerAt most this many people (inclusive). Integer 0-1,000,000, at least min. Companies with no people in the department count as 0 and match.

      Example: 20

      Example
      {
        "filters": {
          "company_headcount_by_department": [
            {
              "department": "Sales",
              "min": 10
            }
          ]
        }
      }
    • company_naicsobjectoptional

      NAICS codes (numeric) of the person's company. Matches if any code on the company is in the list.

      FieldTypeDescription
      includenumber[]Match numeric values in this list - any single value qualifies. Optional - provide include and/or exclude.
      excludenumber[]Reject numeric values in this list. 0-500 items.
      Example
      {
        "filters": {
          "company_naics": {
            "include": [
              541511,
              541512
            ]
          }
        }
      }
    • company_locationobjectoptional

      Location of the person's company (the matched position's company), as unified location strings - same format as person_location. Any resolved office counts by default; see headquarters_only.

      FieldTypeDescription
      includestring[]Match these locations (any of). Unified strings like "United States", "Texas, United States", "San Francisco, California, United States" - or a region like "EMEA", "APAC", "Europe", "Latin America", which expands to its member countries (full list with member countries: GET /v2/enums/regions). Max 100 items, each 2-200 chars. Any value that does not resolve fails the whole request with 400 (invalid_value, naming it in invalid_values), even beside values that do: nothing is silently dropped. Look values up with POST /v2/search/suggest (type location).
      excludestring[]Reject these locations (same unified-string format; a region minus a country works: include ["Europe"], exclude ["Germany"]). Max 100 items, each 2-200 chars. A value that does not resolve is skipped, so check the spelling: a misspelled exclude ("Germny") leaves that place in the results.
      headquarters_onlybooleanWhen true, match the company headquarters location only. When false (default), any office location we have resolved counts, headquarters included: includes widen (a company with an office there matches) and excludes tighten symmetrically (a company with an office there is rejected). default: false.
      Example
      {
        "filters": {
          "company_location": {
            "include": [
              "San Francisco, California, United States"
            ],
            "headquarters_only": true
          }
        }
      }
    • company_technologiesobjectoptional

      Web technologies detected on the company website, by id: the value of a POST /v2/search/suggest row with type: technology and kind: technology. Websites are rescanned every 30 days. Matches the company of the matched position. Not available yet: answers 400 until the people index carries company technologies.

      FieldTypeDescription
      includestring[]Technology ids to match. match_mode: ANY (default): a company using any of them qualifies; ALL: it must use every one. Max 500.

      Example: ["3421"]

      excludestring[]Reject companies using any of these technology ids. Max 500.
      match_modeenumHow include combines: ANY (default) - at least one; ALL - every one, on the same company. default: "ANY".

      Allowed values: ANY ALL

      Example
      {
        "filters": {
          "company_technologies": {
            "include": [
              "3421"
            ]
          }
        }
      }
    • company_technology_categoriesobjectoptional

      Technology categories (CMS, Ecommerce, Analytics, ...), by id: the value of a suggest row with kind: category. A category matches a company using any technology in it. Matches the company of the matched position. Not available yet: answers 400 until the people index carries company technologies.

      FieldTypeDescription
      includestring[]Category ids to match (any of). Max 200.

      Example: ["1"]

      excludestring[]Reject companies using any technology in these category ids. Max 200.
      Example
      {
        "filters": {
          "company_technology_categories": {
            "include": [
              "1"
            ]
          }
        }
      }
    • contact_detailsobjectoptional

      Contact data: email/phone availability and status (global), plus your workspace's reveal state.

      Child attributes
      • emailobjectoptional

        Email availability/quality (global) + your workspace reveal state.

        FieldTypeDescription
        statusenum[]Contact-level email status (best stored email; valid wins). Match-any: valid (>=1 valid email, or an email your workspace entered for the person), invalid, accept_all, not_found (no stored email and none entered by your workspace).

        Allowed values: valid invalid accept_all not_found

        revealedbooleantrue = only contacts whose email your workspace already revealed; false = only those NOT revealed. Requires an authenticated workspace.
      • phoneobjectoptional

        Phone availability (global) + your workspace reveal state.

        FieldTypeDescription
        statusenum[]Contact-level phone status from our lookup store. Match-any: found (number on file), not_found (looked up, none), unknown (never looked up).

        Allowed values: found not_found unknown

        revealedbooleantrue = only contacts whose phone your workspace already revealed; false = only those NOT revealed. Requires an authenticated workspace.
      Example
      {
        "filters": {
          "contact_details": {
            "email": {
              "status": [
                "valid",
                "accept_all"
              ],
              "revealed": false
            },
            "phone": {
              "status": [
                "found"
              ]
            }
          }
        }
      }
    • listsobjectoptional

      Your workspace CRM list membership: include/exclude list ids, saved any/none, and saved-at range.

      Child attributes
      • includestring[]optional

        Only contacts your workspace saved into these list ids. Max 100 ids, each 1-64 chars.

      • excludestring[]optional

        Hide contacts your workspace saved into these list ids. Max 1000 ids, each 1-64 chars.

      • savedenumoptional

        any = only contacts your workspace saved, in a list or not; none = only contacts your workspace has not saved; without_list = only contacts your workspace saved but did not file into any list.

        Allowed values: any none without_list

      • saved_atobjectoptional

        Filter by when the contact was saved into a list (workspace-scoped).

        FieldTypeDescription
        fromstringSaved on/after this date (ISO 8601). Optional.
        tostringSaved on/before this date (ISO 8601). Optional.
      Example
      {
        "filters": {
          "person_job_title": {
            "include": [
              "Product Marketing Manager"
            ]
          },
          "lists": {
            "saved": "none"
          }
        }
      }
    • duplicatesobjectoptional

      Deduplication against your workspace's history: hide people already exported.

      FieldTypeDescription
      exclude_exportedbooleantrue = hide people your workspace already exported through POST /v2/people/export. Exclude-only: it removes rows and never counts as an include condition. Requires an authenticated workspace.
      Example
      {
        "filters": {
          "duplicates": {
            "exclude_exported": true
          }
        }
      }
    • max_person_per_companyintegeroptionalmin: 1max: 100

      Cap the number of people returned per company across the whole result set (1-100). A person is counted against the company of the position that matched your company filters, or their current/primary position when no company filter is set. Of the colleagues competing for a company slot, one we hold a valid email for is kept, and your sort decides between them (and picks the representative outright when none of them has one). Results stay in your sort order either way. For result sets above 25000 matches the representative is simply whoever leads your sort, and total_count is a rounded PRE-cap estimate (pagination.total_is_estimate=true) - an upper bound, so an export of that selection returns fewer people. At or below it both are exact.

      Example
      {
        "filters": {
          "person_job_title": {
            "include": [
              "Product Marketing Manager"
            ]
          },
          "max_person_per_company": 2
        }
      }
  • group_byenum[]optional

    Break the total down by up to three dimensions: country (where the person is based, ISO code), department (the department group of the matched job, e.g. "Sales") and seniority (the level of the matched job, e.g. "Director"). Department and seniority come from the jobs the filters matched (every current job when the filters name no job or company condition), so a person with two matched jobs counts once for each and the values can add up to more than total. Omit for the total alone.

    Allowed values: country department seniority

    Example
    {
      "group_by": [
        "country",
        "seniority"
      ]
    }
  • pivotbooleanoptionaldefault: false

    false (default): one breakdown per group_by dimension, each with its unknown count. true: one row per combination of values (e.g. US + Sales + Director) that holds anyone, sorted by count; needs at least two dimensions. A pivot row describes one job: its department and seniority come from the same position. People with no value for a dimension are not in any pivot row.

  • country_limitintegeroptionalmin: 1max: 250default: 50

    How many countries to return, the largest first (each count is exact). At most 100 in a pivot by country.

Responses

  • 200 The total, with the breakdowns or pivot rows asked for. Nobody matching is total: 0, not an error.
  • 400 Invalid request (VALIDATION_ERROR; payload.code says which kind of mistake): the same filter errors as People Search, pivot with fewer than two dimensions, or a country_limit above 100 in a pivot by country.
  • 401 Missing, unknown or inactive credentials (UNAUTHORIZED).
  • 408 The count took too long (TIMEOUT): narrow the filters or ask for fewer dimensions.
  • 429 Over the search rate limit (RATE_LIMIT); wait Retry-After seconds. Also sent when more than 26 searches of the workspace are running at once and none finished within 5 seconds (TOO_MANY_CONCURRENT_REQUESTS): retry after Retry-After seconds, or run fewer searches in parallel.
  • 500 Unexpected server error.

For error handling see Errors. Response objects are described in Person object and Company object.