ipapi.com API

⭐ Beginner's Pick Geocoding / API Key Intermediate HTTPS
Varies by plan (check documentation)

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

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

Example Response

JSON Response
{
  "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

const url = "https://ipapi.com/";
// 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

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.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 5/20
🔒 Security 15/15
🛠 Developer XP 12/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Category Geocoding
Difficulty Intermediate
Verified: 2026-04-04

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 →