---
title: "IP Geolocation API: Free, Accurate IP Address Lookup"
slug: "/ip-location-api.html"
parent: "IP Geolocation API"
description: "Free IP Geolocation API returns most accurate city, country, ASN, ISP/Company, currency, timezone and threat data for any IPv4 or IPv6 address."
---

# Free IP Geolocation API & IP Address Lookup

Accurate IP geolocation API for any IPv4 or IPv6. Instantly locate any IP address and get city-level location, ASN, Company, currency, timezone and threat data in JSON or XML.

[Get Free API Access](https://app.ipgeolocation.io/signup)[Explore Documentation](https://ipgeolocation.io/documentation/ip-location-api.html)

## IP Location Module

Pinpoint where an IP is, down to the city. The IP-to-location module returns continent, country, state, city, latitude and longitude, and zip code, plus, on paid plans, an accuracy radius and confidence value so you know how precise each result is.

For every field and type, see the [full field reference in the docs](https://ipgeolocation.io/documentation/ip-location-api.html).

**Response Preview**

```json
"location": {
  "continent_code": "NA",
  "continent_name": "North America",
  "country_code2": "US",
  "country_code3": "USA",
  "country_name": "United States",
  "country_name_official": "United States of America",
  "country_capital": "Washington, D.C.",
  "state_prov": "California",
  "state_code": "US-CA",
  "district": "Santa Clara",
  "city": "Mountain View",
  "locality": "Mountain View",
  "accuracy_radius": "5",
  "confidence": "High",
  "dma_code": "807",
  "zipcode": "94043-1351",
  "latitude": "37.42240",
  "longitude": "-122.08421",
  "is_eu": false,
  "country_flag": 
      "https://ipgeolocation.io/static/flags/us_64.png",
  "geoname_id": "6301403",
  "country_emoji": "🇺🇸"
}
```

## Country Metadata Module

Country metadata module provides country calling (dialing) code, country's top level domain name (ccTLD) and official spoken languages in the country associated with the queried IP address.

**Response Preview**

```json
"country_metadata": {
  "calling_code": "+1",
  "tld": ".us",
  "languages": [
    "en-US",
    "es-US",
    "haw",
    "fr"
  ]
}
```

## Network Module

IP Network module provides network-level details for an IP address, including the connection type (DSL, Mobile, 5g, etc.), the BGP route (CIDR) the IP belongs to, and whether the IP is anycast.

**Response Preview**

```json
  "network": {
    "connection_type": "Mobile",
    "route": "165.227.0.0/20",
    "is_anycast": false
  }
```

## ASN Module

IP ASN module provides Autonomous System information for an IP address, including the AS number, the organization name, the country where the ASN is registered, the ASN type such as ISP, HOSTING, EDUCATION, GOVERNMENT, or BUSINESS, the organization domain when available, the allocation date when the ASN was assigned to the organization, and the Regional Internet Registry (RIR) that issued the ASN.

For deeper network intelligence such as ASN peers, upstreams, downstreams, and routes, or to look up an ASN directly by its number, not just from an IP, use our dedicated [ASN API](https://ipgeolocation.io/asn-api.html).

**Response Preview**

```json
"asn": {
    "as_number": "AS14061",
    "organization": "DigitalOcean, LLC",
    "country": "US",
    "type": "HOSTING",
    "domain": "digitalocean.com",
    "date_allocated": "2025-03-04",
    "rir": "ARIN"
  }
```

## Currency Module

IP to Currency module provides currency information of the country such as currency name, currency symbol and currency code from an IP address.

**Response Preview**

```json
"currency": {
  "name": "US Dollar",
  "code": "USD",
  "symbol": "$"
}
```

## Company Module

Know the ISP/Company behind an IP. The company module returns the company name, its type (ISP, HOSTING, EDUCATION, GOVERNMENT, or BUSINESS), and the company domain when available.

**Response Preview**

```json
"company": {
    "name": "DigitalOcean, LLC",
    "type": "HOSTING",
    "domain": "digitalocean.com"
  }
```

## Security Module

Flag risky traffic before it converts. The security module returns a threat score plus VPN, proxy, residential proxy, Tor, relay and bot flags, the anonymizer's provider name, and whether the IP is a known attacker or a cloud provider.

For dedicated [VPN, proxy and Tor detection](https://ipgeolocation.io/ip-security-api.html), use the IP Security API.

**Response Preview**

```json
"security": {
  "threat_score": 85,
  "is_tor": false,
  "is_proxy": true,
  "proxy_provider_names": [],
  "proxy_confidence_score": 90,
  "proxy_last_seen": "",
  "is_residential_proxy": false,
  "is_vpn": true,
  "vpn_provider_names": [
  "Browsec VPN"
  ],
  "vpn_confidence_score": 90,
  "vpn_last_seen": "2026-01-24",
  "is_relay": false,
  "relay_provider_name": "",
  "is_anonymous": true,
  "is_known_attacker": true,
  "is_bot": false,
  "is_spam": true,
  "is_cloud_provider": false,
  "cloud_provider_name": ""
}
```

## Abuse Contact Module

The Abuse Module provides contact details of the responsible party for the queried IP address, including country, organization, email address and phone number. Ideal for reporting malicious activity or handling abuse complaints.

Only need the abuse contact for an IP, not a full lookup? Use our dedicated [IP Abuse Contact API](https://ipgeolocation.io/ip-abuse-contact-api.html).

**Response Preview**

```json
"abuse": {
  "route": "185.219.156.0/22",
  "country": "LV",
  "name": "DEAC abuse handling",
  "organization": "",
  "kind": "group",
  "address": "Cuibes street 17, LV-1063, Riga, Latvia",
  "emails": [
  "abuse@deac.eu"
  ],
  "phone_numbers": [
  "+371 67072100"
  ]
}
```

## Time Zone Module

IP to Time Zone module provides time and timezone related information such as timezone name, UTC/GMT offset, current date and time, daylight saving time status, daylight saving offset in hours, along with start and end details of daylight saving time.

Need more than IP-based time data? Our dedicated [Timezone API](https://ipgeolocation.io/timezone-api.html) also looks up by coordinates, city, airport code, or timezone name, and converts time between any two zones.

**Response Preview**

```json
"time_zone": {
    "name": "America/Los_Angeles",
    "offset": -8,
    "offset_with_dst": -8,
    "current_time": "2026-02-25 02:00:28.453-0800",
    "current_time_unix": 1772013628.453,
    "current_tz_abbreviation": "PST",
    "current_tz_full_name": "Pacific Standard Time",
    "standard_tz_abbreviation": "PST",
    "standard_tz_full_name": "Pacific Standard Time",
    "is_dst": false,
    "dst_savings": 0,
    "dst_exists": true,
    "dst_tz_abbreviation": "PDT",
    "dst_tz_full_name": "Pacific Daylight Time",
    "dst_start": {
      "utc_time": "2026-03-08 TIME 10:00",
      "duration": "+1.00H",
      "gap": true,
      "date_time_after": "2026-03-08 TIME 03:00",
      "date_time_before": "2026-03-08 TIME 02:00",
      "overlap": false
    },
    "dst_end": {
      "utc_time": "2026-11-01 TIME 09:00",
      "duration": "-1.00H",
      "gap": false,
      "date_time_after": "2026-11-01 TIME 01:00",
      "date_time_before": "2026-11-01 TIME 02:00",
      "overlap": true
    }
  }
```

## User Agent Parser Module

User Agent module parses the browser user agent string and provides detailed device information such as device name, device version, device type, device operating system, device browser, browser engine and browser version. It can identify robots, crawlers and attackers.

To parse user agents on their own, use our dedicated [User-Agent API](https://ipgeolocation.io/user-agent-api.html).

**Response Preview**

```json
"user_agent": {
  "user_agent_string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15",
  "name": "Safari",
  "type": "Browser",
  "version": "13.0.5",
  "version_major": "13",
  "device": {
    "name": "Apple Macintosh",
    "type": "Desktop",
    "brand": "Apple",
    "cpu": "Intel"
  },
  "engine": {
    "name": "AppleWebKit",
    "type": "Browser",
    "version": "605.1.15",
    "version_major": "605"
  },
  "operating_system": {
    "name": "Mac OS",
    "type": "Desktop",
    "version": "10.15.3",
    "version_major": "10.15",
    "build": "??"
  }
}
```

## Reverse IP Lookup Module

With reverse IP Lookup, you can resolve the host name or domain or router dns address. This gives you detailed information about the original source of traffic.

**Request**

```shell
curl 'https://api.ipgeolocation.io/v3/ipgeo?include=hostname&ip=8.8.8.8&apiKey=API_KEY'
```

**Response Preview**

```json
{
  "ip":"8.8.8.8",
  "hostname":"dns.google",
  "...":"..."
}
```

## Domain IP Lookup

Enter the domain address in place of IP address and our API will perform a DNS Lookup to give you the web hosting provider and the geographical location of the website.

**Response Preview**

```json
{
  "domain": "ipgeolocation.io",
  "ip": "104.20.40.71",
  "location": {
    "country_name": "United States",
    "state_prov": "California",
    "city": "San Francisco",
    "...":"..."
  }
}
```

## Bulk IP Address Lookup Support

Use our Bulk IP Lookup endpoint to perform batch lookup of multiple IPs in one go. One request can have up to 50,000 IPs, and both IPv4 and IPv6 are supported.

For offline or very high volume, use our [downloadable IP geolocation database](https://ipgeolocation.io/ip-geolocation-database.html); to plan spend, [see what each call costs](https://ipgeolocation.io/documentation/credits-usage.html).

**Request**

```shell
curl -X POST 'https://api.ipgeolocation.io/v3/ipgeo-bulk?apiKey=API_KEY' \
 -H 'Content-Type: application/json' \
 -d '{
 "ips": ["1.1.1.1", "1.2.3.4", "1.2.3.5", "1.2.3.6", "1.2.3.7"]
 }'
```

## Response in Multiple Languages

You can retrieve the geolocation information for an IP address in the following languages:

*   English
*   German
*   Russian
*   Japanese
*   French
*   Chinese Simplified
*   Spanish
*   Czech Republic
*   Italian
*   Korean
*   Persian
*   Portuguese
*   Standard Arabic

## Use Cases

### Website Content Localization with Our IP API

Adapt the content of your website to the destination of your visitors. Make your visitors feel right at home by "talking" to them in their local language and connect with them instantly. With IP geolocation, redirect users to their region-specific site and serve the right language and currency automatically, with no location pop-up.

### Non-Intrusive Geolocation with IP Geolocation API

Do you have an awesome content localization strategy in place? IP geolocation is a non-intrusive way to know where your visitors are coming from. Don't ruin your visitor's website experience by showing annoying pop-ups asking for their location. Our geolocation API will detect their location from their IP address and show them the relevant message.

### Digital Rights Protection

Enforce digital rights of your content using IP location API. Build a virtual fence around your content and make sure that only the people inside the fence can see it.You can now confidently restrict unauthorized access while providing uninterrupted experiences to authorized users with the accuracy of our IP Geolocation API.

### IP API to Prevent Threats and Scams

With our security, geolocation, and user agent module, you can identify anonymous traffic sources, known attackers, suspicious devices and tor nodes to prevent online fraud, trial abusers, forum spams and botnet attackers.

## Ready to get started? Get Started with IP Intelligence API Today

Enrich every request with precise geolocation and real-time threat intelligence, delivered on a global edge with a 99.99% uptime SLA. Start free and scale when you’re ready.

[Get Started](https://app.ipgeolocation.io/signup)

Start on the free plan with 1,000 lookups a day, no credit card. Paid plans from $19/month with no rate limits. [See pricing](https://ipgeolocation.io/pricing.html).

## IP Geolocation API FAQs

### Is the IP Geolocation API free?

**Answer:** Yes. The free plan gives you 1,000 API credits per day for life, with no credit card required. It covers core location, country metadata, currency, basic ASN, and time zone. Paid plans start at $19 per month and add company and network data, security and VPN/proxy detection, abuse contacts, bulk lookups, and domain lookups.

### How do I look up the location of an IP address?

**Answer:** Send the IP to the unified endpoint and you get its location back in JSON or XML. A single call to `https://api.ipgeolocation.io/v3/ipgeo` returns city, country, coordinates, ASN, ISP/Company, currency, and time zone for any IPv4 or IPv6 address. See the [API documentation](https://ipgeolocation.io/documentation/ip-location-api.html) for parameters and exact field paths.

### What data does the IP Geolocation API return?

**Answer:** One call returns location (city, state, country, coordinates), country metadata, currency, ASN, ISP/Company, and time zone. Paid plans add network and connection type, security and anonymizer detection, abuse contacts, user agent parsing, hostname, and domain lookup. You can request only the fields you need to keep responses small and fast.

### Can I look up many IP addresses at once?

**Answer:** Yes. The bulk endpoint accepts up to 50,000 IPv4 or IPv6 addresses in a single request, which is the fastest way to enrich logs, user tables, or event streams. For continuous high-volume processing, the same data is also available as a [downloadable IP geolocation database](https://ipgeolocation.io/ip-geolocation-database.html).

### How accurate is the IP Geolocation API?

**Answer:** Accuracy is reported per result on paid plans, where every lookup returns an accuracy radius and a confidence value so you can judge precision instead of guessing. Locations resolve to city and locality level and are built from multiple independent signals, including active measurements, that are cross-checked and refreshed continuously. The free plan covers core location without the radius and confidence fields.

### Can the API detect VPNs, proxies, and Tor?

**Answer:** Yes. The security module returns a threat score plus VPN, proxy, residential proxy, Tor, relay, and bot flags for any IP, in the same response as the location data. Security adds 2 credits per lookup on paid plans. You can score risk and locate a visitor in one call instead of stitching two services together.

### Are there rate limits?

**Answer:** No. There are no rate limits on any plan. Plans are based on monthly credits: a standard unified lookup costs 1 credit, security adds 2 credits, and abuse adds 1 credit. Every response includes an `X-Credits-Charged` header, so you can see exactly what each call costs.

### What formats and languages does the API support?

**Answer:** The API returns JSON or XML over HTTPS, with official SDKs for Python, Java, Go, PHP, JavaScript, and more. Paid plans can return geolocation fields in multiple languages, including German, French, Japanese, and Spanish. The response schema stays the same across plans, so scaling up never breaks your integration.
