Overview

ipapi.com provides a fast REST API to geolocate any IP address and retrieve location data like country, city, timezone, and ISP in JSON format. It offers a free plan with 1,000 requests per month so you can prototype without a billing setup. It is a good fit for apps that need to detect a user's location automatically from their IP.

Beginner Tip

You can test the API without a key by hitting the /json endpoint — it will geolocate your own request IP. Add your API key as ?access_key=YOUR_KEY for higher limits and full field access.

Available Data

The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.

IP address details
latitude and longitude
city and country
timezone
ISP information
IP address information

Example Response

Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.

JSON Response · Illustrative
{
  "ip": "203.0.113.42",
  "city": "San Francisco",
  "region": "California",
  "country_code": "US",
  "latitude": 37.7749,
  "longitude": -122.4194,
  "timezone": "America/Los_Angeles",
  "isp": "Example ISP"
}

Field Reference

ip The IP address that was looked up.
country_name Full name of the country associated with the IP address.
region_name Name of the region or state within the country.
city City name for the IP location.
timezone_name IANA timezone name for the IP location (e.g., America/New_York).
connection_type Type of network connection such as Cable or Corporate.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://api.ipapi.com/api/134.201.250.155?access_key=YOUR_API_KEY";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

101 - No API key provided The access_key parameter was not included in the request URL.
Add ?access_key=YOUR_API_KEY to the end of your request URL.
104 - Monthly usage limit reached You have exceeded the 1,000 free monthly requests on your plan.
Wait for the monthly reset or upgrade to a paid plan for higher limits.
HTTPS not supported on free plan The free plan restricts HTTPS connections.
Use http:// instead of https://, or upgrade your plan.

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Category Geocoding
Difficulty Intermediate
Listing details not endpoint-verified

Alternatives to ipapi.com

Technical alternatives for different use cases.

Free tier without API key for basic lookups

Better For

No-signup IP geolocation for prototyping

Trade-off

Bulk lookups and enterprise-grade reliability

Feature-rich IP geolocation with security module

Better For

IP threat detection and security analysis

Trade-off

Simple geolocation without security features

Similar APIs

View All →