Ip Location Check avatar

Ip Location Check

Pricing

from $1.40 / 1,000 results

Go to Apify Store
Ip Location Check

Ip Location Check

Look up geographic locations for IP addresses. Supports batch lookups with country, city, subdivision, coordinates, and timezone data.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

2

Monthly active users

4 days ago

Last modified

Share

IP Location Checker: Country, City, Coordinates and Timezone for Any IP Address

IP Location Checker turns a list of IP addresses into structured geolocation records. Submit any number of IPv4 or IPv6 addresses in one run and get back country, region, city, postal code, coordinates, timezone and an approximate accuracy radius for each one, with place names in the language you choose. Read the results from the dataset, or pull them straight into your app through the API.

Why This Scraper?

  • Batch lookups in one run. Submit any number of IPv4 or IPv6 addresses in a single call and get one record back per address.
  • Country down to city and coordinates. Country, region, city, postal code, latitude, longitude, timezone and an approximate accuracy radius for each address.
  • Multi-language place names. Country, region and city names come back in the language you choose, not just English.
  • Honest failures, not silent nulls. An address that cannot be resolved comes back with success: false and a plain-language error, instead of a record full of nulls that looks like a real match.
  • IPv4 and IPv6 side by side. Mix both address families in the same input list.
  • No proxy or account setup needed. Runs out of the box; there is no per-run proxy configuration to manage.
  • Fresh location data without extra work. The location database is refreshed automatically: each run reuses a copy that is less than 24 hours old, and fetches the latest version once that copy is older.

Use Cases

  • Ad targeting validation: confirm ad impressions and click traffic are landing in the geographic regions you're paying to target.
  • Fraud and account-abuse checks: flag sign-ups, orders or logins whose IP location doesn't match the address or region a user claims.
  • Content and pricing localization: route visitors to the right language, catalog or price list based on where their IP resolves.
  • Access and compliance controls: enforce geographic restrictions on an API or content library, or identify traffic from specific jurisdictions.
  • Analytics enrichment: attach country, city and timezone to IP-based logs, sign-up funnels or usage analytics.

Data You Get

Sample shape: values are illustrative placeholders, not from a live record.

FieldExample
ip"203.0.113.42" (the address exactly as given in ipAddresses)
ip (IPv6 form)"2001:db8::1"
country"Example Country" (localized to language; null when no country is known)
countryCode"ZZ" (ISO 3166-1 alpha-2 code; null when country is null)
subdivision"Example Region" (state, province or region; null when only a country level is known)
city"Example City" (null when only a country or region level is known)
postalCode"00000" (null for most addresses; coverage is uneven outside a handful of countries)
latitude12.345 (null when no coordinates are known)
longitude67.89 (null when no coordinates are known)
timezone"Etc/UTC" (IANA timezone identifier; null when unknown)
accuracyRadius50 (approximate radius in kilometers around the coordinates; null when unknown)
success (true)the address resolved to at least one location field (country, region, city, postal code or coordinates)
success (false)the address could not be resolved; every field above is null on that row
error (on a successful row)null
error (invalid or unmapped address)a short message explaining the address string could not be parsed, or is private, reserved or otherwise absent from the location database
error (known network, no location)a short message explaining the address matches a recognized network that carries no country, city or coordinate data, a known gap for some large shared address ranges

How to Use

  1. Enter one or more IP Addresses (IPv4 or IPv6).
  2. Optionally set Language to get country, region and city names in that language.
  3. Click Start.
  4. Read the results from the dataset, or pull them through the API.

Single address:

{
"ipAddresses": ["203.0.113.42"]
}

Batch lookup:

{
"ipAddresses": ["203.0.113.10", "198.51.100.23", "192.0.2.77"]
}

With a language:

{
"ipAddresses": ["203.0.113.42", "198.51.100.23"],
"language": "ja"
}

IPv6 addresses:

{
"ipAddresses": ["2001:db8::1", "2001:db8::a2"]
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/ip-location-check").call(run_input={"ipAddresses": ["203.0.113.42"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["ip"], item["country"], item["city"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/ip-location-check').call({ ipAddresses: ['203.0.113.42'] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.

Batching and freshness

There is no fixed cap on how many addresses you can submit in one run; very large batches (over 10,000 addresses) automatically get more memory. Blank entries in the list are skipped. Every other entry produces exactly one record, including addresses that fail. The location database copy is reused while it is less than 24 hours old and fetched again after that, so location data is never more than about a day behind the latest published version.

Input Parameters

ParameterTypeDefaultDescription
ipAddressesarray(required)List of IP addresses to look up, IPv4 or IPv6. Required.
languagestringenLanguage for place names, as an ISO 639-1 code (for example en, es, fr, de, ja, zh-CN). Falls back to English when a name isn't available in the requested language.

Output Example

Sample shape: values are illustrative placeholders, not from a live record.

{
"ip": "203.0.113.42",
"country": "Example Country",
"countryCode": "ZZ",
"subdivision": "Example Region",
"city": "Example City",
"postalCode": "00000",
"latitude": 12.345,
"longitude": 67.89,
"timezone": "Etc/UTC",
"accuracyRadius": 50,
"success": true,
"error": null
}

Plan Requirement

This actor does not use a proxy connection: lookups run against a location database loaded inside the run, so there is no proxy to configure. The default memory is enough for typical batches and is raised automatically for very large ones.

FAQ

How much does it cost?

You pay a small fee per run start plus a fee per record returned. Every address you submit produces one record, including lookups that come back with success: false, so remove addresses you don't need before the run. The Pricing tab shows the current rates.

The actor matches each address against a published location database; it does not contact or access the addresses you submit. You are responsible for how you use the results: IP addresses can count as personal data in some places, so follow the privacy laws that apply to you.

Can I check the same addresses on a schedule?

Yes. Save your input as a task and run it from the Schedules tab. Each run looks up every address again against the current database copy, so you can track when an address's location changes.

Why did my run finish with an empty dataset?

The IP Addresses list was empty, or held only blank entries. The run logs a warning and ends without looking anything up. Addresses that can't be located never make the run fail: each one still returns a record with success: false. A run only fails outright when the location database itself can't be loaded; run it again in a few minutes.

Does this include proxy, VPN or fraud-risk detection?

No. This actor returns only geographic location data: country, region, city, postal code, coordinates and timezone. It does not flag whether an address is a proxy, VPN, hosting or datacenter address, and it carries no other reputation or risk signal.

Can it look up my own IP address automatically?

No. There is no auto-detect option. List the address or addresses you want to look up in IP Addresses.

Why did a lookup come back with success: false and every location field null?

Three cases produce this: the address string isn't a valid IPv4 or IPv6 address, the address is private, reserved or otherwise not covered by the location database, or the address matches a known network that the database has no country, city or coordinate data for. Check that record's error field for which one applies.

Can I use this actor with AI agents or MCP?

Yes. Call it from your agent framework's tool interface, or through the Apify API or client shown above, and feed the returned JSON straight into your prompt or pipeline.

🔗 Want more SEO data?

Pair this actor with these related scrapers from the same team:

🤖 Doc To Markdown
Convert documents (PDF, Word, PowerPoint, Excel, HTML, images) to clean Markdown...
📇 Yellow Pages AU
From $1/1K. Scrape business listings from Yellow Pages Australia by type and location...
✈️ Fuel Prices AU Scraper
Scrapes petrol and fuel prices data across Australia and New Zealand. Search by address...
🛒 IKEA Scraper
Scrape IKEA products across 50+ markets. Extract names, prices, currencies, ratings, full...
🧩 Yandex Maps Scraper
Scrape businesses and places from Yandex Maps by search term or URL for research, leads...
🛒 Dealroom.net Scraper
Scrape Dealroom.net market maps, company lookup results, live signals, and newly founded...

👉 Browse all abotapi scrapers

💬 Support

  • 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
  • 🛠️ Need another site, extra fields or a private build? Email contact@abotapi.com.
  • ⭐ Enjoying it? A quick review on the actor page helps other users find it.