Bulk IP Geolocation & Risk Lookup avatar

Bulk IP Geolocation & Risk Lookup

Pricing

$0.50 / 1,000 ip resolveds

Go to Apify Store
Bulk IP Geolocation & Risk Lookup

Bulk IP Geolocation & Risk Lookup

Bulk IP geolocation and risk lookup for IPv4/IPv6 addresses. Get country, city, ASN, ISP, timezone, VPN, proxy, Tor, datacenter, and risk score data.

Pricing

$0.50 / 1,000 ip resolveds

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Share

Resolve IPv4 and IPv6 addresses in bulk and export structured IP intelligence data. The Actor returns geolocation, network, timezone, and risk signals for each successfully resolved IP address.

Use it for fraud checks, traffic analysis, log enrichment, abuse review, geo-based routing, security workflows, and IP-based lead or user enrichment.

What You Get

For each resolved IP, the dataset includes:

  • Location: country, country code, city, state or region, ZIP/postal code, latitude, longitude, timezone, and local time.
  • Network: ASN, organization, and ISP.
  • Risk signals: VPN, proxy, Tor, mobile network, datacenter, and risk score.
  • Run status: success flag plus stable error codes and clear messages for uncharged failed inputs.

No external API key is required.

Pricing

This Actor uses pay-per-event pricing.

  • Charged event: ip-resolved
  • Billing unit: one successfully resolved public IP address
  • Invalid, private, reserved, scoped, and failed upstream lookups are not charged as ip-resolved events.

The final price is shown in the Apify Store pricing tab before you start a run.

Input

Provide a list of public IPv4 or IPv6 addresses.

{
"ips": ["1.1.1.1", "8.8.8.8", "2001:4860:4860::8888"],
"batchSize": 1000,
"timeoutSecs": 30,
"maxRetries": 4,
"deduplicate": true,
"continueOnError": true
}

Input Fields

FieldTypeDefaultDescription
ipsarray of stringsrequiredPublic IPv4 or IPv6 addresses to resolve.
batchSizeinteger1000Target inputs per batch. Large request URLs are split automatically. Maximum: 10000.
timeoutSecsinteger30HTTP timeout for each request.
maxRetriesinteger4Retries for rate limits, temporary network errors, and server errors.
deduplicatebooleantrueRemoves duplicate IPs before lookup.
continueOnErrorbooleantrueKeeps the run going after an IP-specific lookup failure. Infrastructure failures stop the run safely.

With continueOnError enabled, valid public IPs continue processing while invalid, private, reserved, and IPv6 scope-qualified values are returned as uncharged error rows. A run containing no queryable public IPs writes the error rows and finishes with an error status.

Output

Results are saved to the default Apify Dataset. Each item represents one IP address.

Output Fields

FieldDescription
ipResolved IP address.
oktrue when the IP was resolved successfully.
asnAutonomous system number.
organizationNetwork organization.
ispInternet service provider.
country, countryCodeCountry name and ISO country code.
city, state, zipcodeCity, region/state, and postal code.
latitude, longitudeGeographic coordinates.
timezone, localtimeTimezone and local time reported for the IP.
isMobileWhether the IP belongs to a mobile network.
isVpnWhether the IP is associated with VPN traffic.
isTorWhether the IP is associated with Tor.
isProxyWhether the IP is associated with proxy traffic.
isDatacenterWhether the IP belongs to a datacenter network.
riskScoreRisk score returned by the provider.
errorCodeStable machine-readable reason for an uncharged failed input.
errorStatus, errorMessageOptional HTTP status and user-friendly error details.

Common error codes include INVALID_IP, NON_PUBLIC_IP, UNSUPPORTED_SCOPE_ID, UPSTREAM_BAD_REQUEST, UPSTREAM_NOT_FOUND, MISSING_UPSTREAM_RESULT, and URL_TOO_LONG.

The default Key-value store also contains an OUTPUT summary with requested, normalized, queryable, processed, resolved, and failed-by-cause counts. It reports HTTP retries, rate limits, response-recovery attempts, safe URL splits, resumed run segments, completion state, and whether a spending limit or input-specific error stopped the run.

Example Output

{
"ip": "8.8.8.8",
"ok": true,
"asn": "AS15169",
"organization": "Google LLC",
"isp": "Google LLC",
"country": "United States",
"countryCode": "US",
"city": "Mountain View",
"state": "California",
"zipcode": "94043",
"latitude": 37.43903957944434,
"longitude": -122.09837932325807,
"timezone": "America/Los_Angeles",
"localtime": "2026-07-04T09:14:22",
"isMobile": false,
"isVpn": false,
"isTor": false,
"isProxy": false,
"isDatacenter": true,
"riskScore": 0,
"errorCode": null,
"errorStatus": null,
"errorMessage": null
}

Notes

  • Supports IPv4 and IPv6.
  • Supports large lists with configurable batches and automatic URL-length-safe splitting.
  • Uses retries and backoff for rate limits and temporary failures.
  • Retries only omitted IPs when an upstream bulk response is incomplete.
  • Never sends private, reserved, or IPv6 scope-qualified addresses to the upstream provider.
  • Stops gracefully when the run reaches the configured Apify pay-per-event charge limit.
  • Preserves progress across Apify migrations and run restarts.
  • Stops on a persistent provider-wide failure instead of generating thousands of individual retry requests.
  • Results can be exported from Apify as JSON, CSV, Excel, XML, or RSS.