Data247
DATA · DATA & ANALYTICS
Phone, address, and identity lookups billed per call against their prepaid balance.
Connecting Data247 in practice
The API key travels in the query string and every failure comes back as a status string inside the body — D247_INSUFFICIENT_FUNDS, D247_DATA_RESTRICTED, D247_TOO_MANY_QUERIES — so an agent that branches on the HTTP status alone reads an empty prepaid balance as a successful lookup that simply found nothing.
Rate limits
- Up to 99 phone numbers in a single call via p1= through p99=, on Text@, Carrier247 (USA, International and Carrier Type), Do-Not-Call and Append247 (Reverse Phone). Anything beyond returns D247_TOO_MANY_QUERIES.
- No request-rate figure is published. The account is prepaid and charged per lookup, so the real ceiling is the balance rather than a window.
Worth knowing
- Requests are HTTPS GET or POST with key=YOURAPIKEY in the URL, so the credential lands in any proxy, CDN or access log that records full request lines. Optional IP authentication narrows where a key works, and returns D247_INVALID_SRC_IP when the source address is not on the list.
- Both success and failure are signalled by a status field inside the response envelope; anything other than "OK" is a failure, and the meaning is in the D247_ prefix rather than in a status code.
- Entitlements are per dataset: D247_DATA_RESTRICTED and D247_NO_CANADA_ACCESS mean the account is not licensed for that data, not that the query was malformed.
- Several services can be chained in one call (api=AN,AG) and the API will feed one service’s output into the next as input, so one HTTP request is not one billable lookup.
- Six response formats are selectable with out= (json is the default, plus xml, yaml, toml, csv and msgpack), and the JSON, XML and YAML envelopes each nest results differently.
Checked against Data247 API version 3.0 user manual (2026-09-29), Data247 API documentation page (2026-09-29)
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
Often connected alongside
Put Data247 behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.