Skip to main content
POST
Bulk enrich companies
Enrich up to 50 companies in a single request. Each item is matched and billed exactly like a standalone /company/enrich call. Bulk is a throughput tool, not a discount or a latency shortcut.

How it works

  • Per item: send the identifiers you already have for each company. Every item accepts the full set of /company/enrich identifiers and options (see Company Enrichment for the minimum-requirement rules).
  • Defaults vs. overrides: top-level flags (multiple_results and limit, an enterprise feature switched on per account, min_confidence, include_fields, exclude_fields, …) apply to every item. Set the same flag on an individual item to override the default for that item.
  • Order preserved: results are returned in the same order as items. Each slot independently reports its matches, or an error if that item didn’t match. A per-item failure never fails the whole batch.
  • Synchronous: all results come back in one response. There is no job ID or polling.

Billing

Each item is billed exactly like a standalone /company/enrich call, following your account’s existing billing model. Bulk is a throughput convenience and doesn’t change your pricing. An upfront check verifies the maximum possible cost of the batch before processing.

Identifiers and metadata

Each item carries the same identifiers as single enrichment, plus an optional metadata object (up to 10 keys) that is echoed back unchanged on that item’s result so you can map results to your own records. Values must be primitive: string, number, or boolean. Nested objects and arrays are rejected.

Limits and rate limits

The default rate limit is intended for evaluation. Higher limits can be provisioned per API key or account-wide. Contact us with your peak concurrent rate.

Batch size guidance

  • Real-time (interactive SLA): keep batches small (10–20 items).
  • Asynchronous backfill: use full 50-item batches and fan out multiple requests concurrently.

Authorizations

API-Key
string
header
required

Body

application/json

Bulk company enrichment request. Top-level flags act as defaults applied to every item; per-item flags override them.

items
BulkCompanyItem · object[]
required

List of company enrichment requests (1-50 items).

Required array length: 1 - 50 elements
multiple_results
boolean
default:false

Default for all items: if true, return multiple matches sorted by confidence. Enterprise only: enabled per account (ask your account manager or support@datalegion.ai); without it the request answers 403 feature_not_available. Each match returned is billed.

limit
integer
default:2

Default for all items: maximum number of results per item when multiple_results=true (default: 2, max: 10).

Required range: 1 <= x <= 10
min_confidence
string | null

Default for all items: minimum match confidence level to include ('high', 'moderate', or 'low').

titlecase
boolean
default:false

Default for all items: if true, format text fields in title case.

required_fields
string | null

Default for all items: comma-separated list of fields that must be present, else the match is filtered out.

include_fields
string | null

Default for all items: comma-separated list of fields to include in the response. If omitted, all fields are returned.

exclude_fields
string | null

Default for all items: comma-separated list of fields to exclude from the response. Applied after include_fields.

pretty_print
boolean
default:false

If true, pretty-print the JSON response with indentation.

Response

Per-item results, in input order (each item is a match set or an error)

Bulk company enrichment response.

results
BulkCompanyItemResult · object[]
required

Per-item results, in the same order as the input items.