Skip to main content
POST
Company Search with Elasticsearch

Request contract

  • Method and path: POST /apis/v1/people-data-labs/search-company-elastic
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/people-data-labs/search-company-elastic
  • Runtime facts: d9aafd76ae02b9bcd98e168c52eb69aba6e12890a1eed8da421910f394e8200a
Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

Usage-based billing; Default request estimate: $0.1003 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.
  • Default request reference estimate (USD): 0.1003
  • Declared unit rate (USD): 1e-06
  • Billing unit: provider_credit
  • Cost contract: response_units
  • Published reference multiplier: 1.0
  • Declared maximum count/units: 10000000
  • Settlement evidence source: response_body

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
size
integer
required

The number of matched company records to return. Must be an integer between 1 and 100, inclusive.

Required range: 1 <= x <= 100
query
string
required

Elasticsearch DSL query string (JSON object) for searching People Data Labs company profiles.

Supported query types: term, terms, match, match_phrase, range, exists, bool (must/should/filter/must_not), wildcard, prefix.

Common Company Fields: name, display_name, website, industry, employee_count, founded, size, location.country, location.region, location.locality, location.name, tags, linkedin_url, type, summary.

Location Searches: Use nested fields: location.country, location.region, location.locality, location.name. Example: {"term": {"location.country": "united states"}}.

Important Restrictions:

  • Do NOT include size or scroll_token in this query; use the dedicated request fields.
  • Do NOT use minimum_should_match in bool queries.

For complete field mappings, see https://docs.peopledatalabs.com/docs/company-search-api.

Examples:

"{\"bool\": {\"must\": [{\"term\": {\"industry\": \"computer software\"}}]}}"

"{\"range\": {\"employee_count\": {\"gte\": 5000}}}"

"{\"bool\": {\"filter\": [{\"range\": {\"founded\": {\"gte\": 2010}}}, {\"term\": {\"location.country\": \"united states\"}}]}}"

"{\"match\": {\"name\": \"google\"}}"

pretty
boolean
default:false

If true, the JSON response will be pretty-printed with human-readable indentation. Defaults to false.

Examples:

"true"

"false"

titlecase
boolean
default:false

If true, an attempt will be made to title-case relevant text fields in the returned company records. Defaults to false.

Examples:

"true"

"false"

scroll_token
string
default:""

A token returned from a previous search response, used for paginating through large result sets. Provide this token to retrieve the next batch of size records. Leave empty or omit for the first request.

Examples:

"627275426f6b656e3432363935383437303232353438373930323030343934383635343734313337"

""

Response

Tool result data

query
string
required
total
integer
required
records
object[]
required
scroll_token
string
required