TL;DR
GeoJS is a lightweight, free IP geolocation API that detects the visitor's location from their IP address. It returns country, region, city, latitude/longitude, timezone, currency, and ASN information. The API is blazingly fast with no authentication and no rate limits documented. Just call the endpoint and get back structured JSON. Perfect for client-side geolocation needs where you don't want to ask for browser permission.
Quick start: https://get.geojs.io/v1/ip/geo.json
No API key needed — just make a request!
How to Use This API
1. Get Your Own Geolocation
https://get.geojs.io/v1/ip/geo.json
2. Look Up a Specific IP
https://get.geojs.io/v1/ip/geo/8.8.8.8.json
3. Get Just Your IP Address
https://get.geojs.io/v1/ip.json
4. JavaScript — Welcome by Location
fetch('https://get.geojs.io/v1/ip/geo.json')
.then(r => r.json())
.then(data => {
document.body.innerHTML =
`Hello from ${data.city}, ${data.country}!
Timezone: ${data.timezone}
Currency: ${data.currency_code}
`;
});
5. Python — Compare IPs
import requests
for ip in ['8.8.8.8', '1.1.1.1', '208.67.222.222']:
data = requests.get(
f'https://get.geojs.io/v1/ip/geo/{ip}.json'
).json()
print(f"{ip}: {data['city']}, {data['country']} "
f"({data['organization']})")
https://get.geojs.io/v1/ip/geo.json
Frequently Asked Questions
- What data does GeoJS return?
- The geo endpoint returns: ip, country, region, city, latitude, longitude, timezone, currency_code, currency_symbol, asn, organization, country_code, and continent_code.
- Is there a rate limit?
- GeoJS does not document any strict rate limits. It's designed for high availability and can handle frequent requests from client-side applications.
- Does it work with IPv6?
- Yes, GeoJS supports both IPv4 and IPv6 addresses. Pass any valid IP in the URL path.
- How accurate is the location data?
- Accuracy is at the city level for most IPs. The exact coordinates come from a geolocation database and may represent the approximate center of the city or ISP service area.
- Can I use GeoJS on the client side?
- Absolutely. Since it requires no API key and supports CORS, you can call it directly from JavaScript in the browser without any server-side proxy.
- What other endpoints are available?
- Besides
/v1/ip/geo.json, there's/v1/ip.json(just your public IP),/v1/country.json(just country),/v1/ip/country/{ip}.json, and/v1/dns.json(DNS lookup).
API Details
- API URL
https://get.geojs.io/v1/ip/geo.json- Documentation
- www.geojs.io
- Category
- Utility
- Authentication
- Not Required
- Geographic Coverage
- Global
What You Can Build
- Localized landing page that shows content in the visitor's language and currency
- Analytics enrichment tool that logs visitor countries without cookies
- Timezone detection for scheduling apps to show local times
- Currency selector pre-set based on detected country
- Geo-targeted ad or promotion display for regional campaigns