Polling loops are where agents waste turns — call, wait, call again, lose track. The run_* tools fold that into a single conversation with a continuation token, while the raw tools stay available for anything that needs control. get_contact is worth noting separately: the description says it never charges, which is exactly the kind of thing a credit-metered API should tell a model before it calls in a loop. Corporate hierarchy is the differentiator against cheaper enrichment: knowing a domain's global ultimate parent is what makes account mapping possible.
DataMerge's endpoint, which listed 23 tools to our probe. Nearly every operation exists twice: a raw pair that returns a job id you poll, and a run_* variant that manages the waiting for you.
- run_company_enrichment, run_contact_enrich, run_contact_search — agent-friendly: first call sends the parameters, then a continuation token carries the rest
- start_company_enrichment and get_company_enrichment_result — the raw async pair, plus a start_and_wait variant
- get_company and get_company_hierarchy — a record, or every entity under the same global ultimate parent
- contact_search and contact_enrich with their status pollers, and get_contact by record id
- Lists: list_lists, create_list, get_list_items, remove_list_item
- configure_datamerge — set the API key at runtime if it is not in the environment
An API key as Authorization: Token. Credit-based and pay-per-lookup: one credit for a company record or a validated email, four for a mobile number, nothing upfront.
Paste a URL with a key — add the endpoint to your client
