Home › Tools & APIs › Bulk Reverse IP Lookup: Process Thousands of Addresses
Bulk Reverse IP Lookup: Process Thousands of Addresses
A bulk reverse IP lookup resolves a list of addresses in one job instead of one at a time. Prepare the list by deduplicating it, process it in batches with caching, and handle the outcome of every address, including “no answer”, so a few hard cases do not stall the run.
Prepare the input
Bulk jobs succeed or fail on preparation. Raw logs contain far more lines than unique visitors, so extracting and cleaning addresses saves most of the work.
- Extract the client address field from your logs or analytics export, not from forwarded headers a client could forge.
- Deduplicate. A busy day may collapse from hundreds of thousands of lines to a few thousand unique addresses.
- Validate. Drop malformed values and strip ports.
- Remove non-public ranges. Private blocks such as those in RFC 1918 and loopback addresses cannot be resolved publicly.
- Separate IPv4 from IPv6 if your tools handle them differently.
- Remove your own infrastructure, such as health checkers and office addresses, so they do not distort results.
Choose a method
| Method | Best for | Cost | Main limit |
|---|---|---|---|
| Scripted reverse DNS | Hostnames for log reading | Free | Many addresses have no PTR; no owner data |
| RDAP queries in a loop | Registry holders | Free | Registry rate limits |
| Free web tools | A few dozen addresses | Free | Volume caps |
| Company-level bulk API | Thousands of addresses with a verdict | Paid, usually per result or plan | Cost and vendor data quality |
Reverse DNS and RDAP follow protocols described in RFC 1035 and RFC 7480. Both are fine for modest volumes, but heavy RDAP use needs care for rate limits; see reverse IP lookup with WHOIS.
What a bulk API call looks like
BusinessMCP’s IP to company API page documents a bulk endpoint, a POST to /api/hub/v1/ip/bulk with an ips array of 1 to 100 addresses, returning for each the same fields as a single lookup. Pricing is stated as $0.02 per item, charged only when a result is found, with a prepaid balance and $5 of free credit for 7 days. The page does not state rate limits or list every response field, so confirm those before building. To see single-address output before you commit, the free reverse IP lookup tool shows what a result looks like; its page notes the free version is limited to 10 lookups per hour.
Key takeaway: in a bulk run, the common result is not a company. Plan the pipeline around three outcomes: named company, non-business network, unidentified.
Batching and reliability
Split your list into chunks that fit the endpoint’s limit, for instance 100 addresses per call. Run chunks sequentially or with modest concurrency, and add timeouts and retries with backoff for transient failures. Make the job idempotent, so a restart does not repeat work, by writing each result to storage as it arrives. A simple table of address, verdict, company, domain and timestamp is enough.
Caching matters twice. Within a run it avoids repeats. Across runs it avoids paying again for addresses you resolved yesterday. Because holders change, set an expiry, such as a few weeks, and refresh older entries. See the Python example for a minimal cache.
Estimating cost and time
Count unique addresses, not log lines. Multiply by the expected hit rate if the vendor bills only for found results, and by the full count if it bills per request. BusinessMCP’s visitor identification guide cites roughly 20 to 35 percent company-level resolution for B2B traffic, a vendor figure, so your own sample is the safer basis for a budget. Run a sample of a few hundred addresses first, measure the real rate and extrapolate.
Add a hard budget limit in code. A runaway loop or an unexpectedly large export is the usual cause of surprise bills.
Interpreting the output in aggregate
Bulk results are most useful in aggregate. Count how many addresses fall into each verdict and weight by visits. Segment named companies by the pages they viewed. Remove hosting and VPN ranges from conversion analysis, since they are mostly automation. Keep a sample for manual verification, and store the lookup date with each row. If you also report on location, remember that it is approximate; see reverse IP lookup location.
Privacy and retention
A list of client addresses may be personal data in some jurisdictions, so minimise what you keep. Store the classification and company where possible and delete raw addresses on a defined schedule. Check any vendor’s terms before sending them customer data. Our privacy guide covers the rules of thumb.
Checklist before you run
- Deduplicated, validated, public-only input.
- Method chosen to match the question: hostnames, ownership or company.
- Batch size within the documented limit.
- Retries, timeouts and a budget guard.
- Results stored with timestamps.
- A manual check of a small sample.
- A retention plan for the raw list.
For an introduction to what each result type means, read what a reverse IP lookup is, or compare tools in free reverse IP lookup options.
Worked example: one day of logs
Imagine an export of 400,000 request lines from a single day. Extracting the client address field and deduplicating leaves perhaps 18,000 unique addresses. Removing private ranges, your own office and monitoring tools trims that to around 17,000. Splitting by address family gives a small IPv6 set and a larger IPv4 set. These numbers are illustrative, not measured, but the shape is typical: the unique list is a small fraction of the raw log.
Running reverse DNS across that list is quick and free, and yields hostnames for a minority. Running a company-level pass through batches of 100 means 170 calls. Storing each batch as it returns lets you stop and resume. After the run, a tally by verdict shows how many unique addresses resolved to companies, how many to providers and how many remained unidentified. Weight those by visit counts to see what share of actual traffic you can name. That weighted figure, not the raw address count, is the one to put in a report, because a handful of large companies can account for a lot of visits.
When to rerun
Rerun the job on a schedule that matches how fast your traffic changes and how fast holders change. Weekly or monthly refreshes of the cache are common. Rerun immediately if you change vendors, so you can compare the two on identical input. Compare precision on a hand-checked sample, not just fill rate, since a service that names more addresses is not necessarily right more often. A comparison of company data APIs from BusinessMCP lists alternatives, though as a vendor page its framing favours its own product.
Frequently asked questions
How do I do a bulk reverse IP lookup?
Export and deduplicate your addresses, then process them in batches through an API or a script that queries DNS and registries, caching results as you go.
How many IPs can a bulk API handle per call?
It varies by vendor. BusinessMCP’s IP API page states 1 to 100 addresses per bulk call.
Is there a free bulk reverse IP lookup?
Command-line reverse DNS is free and scriptable. Free web tools usually cap volume, for example BusinessMCP’s free tool is fair-use limited to 10 lookups per hour.
Why deduplicate before a bulk lookup?
Logs repeat addresses constantly. Deduplication cuts cost and time without losing information.
Sources
- IETF – RFC 7480: HTTP Usage in the Registration Data Access Protocol (RDAP) – https://www.rfc-editor.org/rfc/rfc7480
- IETF – RFC 1035: Domain Names, Implementation and Specification – https://www.rfc-editor.org/rfc/rfc1035