# iplookupapi Documentation
iplookupapi resolves IP addresses (both IPv4 & IPv6) to geolocation, network, timezone and security data over a simple JSON REST API.
Building with an AI assistant? The full API is available as a machine-readable OpenAPI 3.1 specification (opens new window), and the documentation is published as llms.txt (opens new window) / llms-full.txt (opens new window). There is also a hosted MCP server (opens new window) at https://api.iplookupapi.com/mcp that AI agents can connect to directly.
# Your first request
- Register at our developer portal (opens new window) to get your free API key.
- Query the
/v1/infoendpoint with your key:
- That's it — the JSON response contains the geolocation, network, timezone and security data of the IP address. See the Info Endpoint for every response field.
# Official libraries
# Authentication & API Key Information
iplookupapi.com uses API keys to allow access to the API. You can register a new API key at our developer portal (opens new window).
Multiple API keys
While our free plan only allows one API key at a time, our paid plans offer multiple API keys.
By using separate keys for different use cases you can track individual usage and make key rotations affect only certain
parts of your application.
# Authentication methods
To authorize, you can use the following ways:
# GET query parameter
You can pass your API key along with every request by adding it as a query parameter apikey
WARNING
This method could expose your API key in access logs and such. Sending the API key via a header parameter as specified below circumvents this problem.
# HTTP Header
You can set a request header with the name apikey
# Rate limit and quotas
You can use a certain number of requests per month, defined by your plan. Once you go over this quota, the API returns
a 429 HTTP status code, and you either need to upgrade your plan or wait until the end of the month.
We enforce a minute rate limit for specific plans. If you exceed this, the API returns a 429 HTTP status code. You
then have to wait until the end of the minute to make more requests.
Not every request counts
Only successful calls count against your quota. Any error on our side or validation errors (e.g., wrong parameter) will NOT count against your quota or rate limit.
# Response Headers
We attach specific headers to tell you your current monthly/minute quota and how much you have remaining in the period.
X-RateLimit-Limit-Quota-Minute: 10
X-RateLimit-Limit-Quota-Month: 300
X-RateLimit-Remaining-Quota-Minute: 5
X-RateLimit-Remaining-Quota-Month: 199
X-Cost: 1
- The
*-Quota-Monthheaders show your monthly quota and how much of it is remaining. - The
*-Quota-Minuteheaders are only present on plans with a minute rate limit. X-Costtells you how many requests the call counted against your quota (0for sandbox requests).
Grace & overage headers
While your account is consuming grace quota (e.g. while a payment is still pending), the monthly quota headers are replaced by x-ratelimit-limit-grace-month / x-ratelimit-remaining-grace-month. If overages are enabled for your account and you exceed your monthly quota, the additional overage usage is reported via x-ratelimit-limit-overage-month / x-ratelimit-remaining-overage-month.