GeoJS API
Free IP geolocation API with no key and no rate limit: country, city, ASN, timezone and coordinates over HTTPS with CORS and JSONP support. Tested.
Endpoint tested and returned HTTP 200 on 2026-08-19
What is the GeoJS API?
GeoJS is a free IP geolocation API with no API key and no published rate limit, returning country, region, city, coordinates, timezone, ASN and organisation over HTTPS with full CORS and JSONP support.
GeoJS stands out among free IP geolocation services for having no rate limit at all and full HTTPS with CORS — the combination that ip-api's free tier lacks and ipapi.co restricts.
It also supports JSONP, which is unusual now but genuinely useful for static sites that need geolocation without any backend at all. The ASN and organisation fields make it useful for detecting hosting providers and VPN ranges.
Quick facts
- Base URL
https://get.geojs.io/v1- Authentication
- No API key required.
- Rate limit
- No published rate limit.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the GeoJS API
Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.
1. Geolocate the calling IP address
GET https://get.geojs.io/v1/ip/geo.json
curl 'https://get.geojs.io/v1/ip/geo.json'const res = await fetch("https://get.geojs.io/v1/ip/geo.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://get.geojs.io/v1/ip/geo.json", timeout=20)
res.raise_for_status()
print(res.json()){
"accuracy": 20,
"area_code": "0",
"asn": 17557,
"city": "Lahore",
"continent_code": "AS",
"country": "Pakistan",
"country_code": "PK",
"country_code3": "PAK",
"ip": "182.185.143.210",
"latitude": "31.5826",
"longitude": "74.3276",
"organization": "AS17557 Pakistan Telecommunication Company Limited",
"organization_name": "Pakistan Telecommunication Company Limited",
"region": "Punjab",
"timezone": "Asia/Karachi"
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ip/geo.json | path | Optional | Full geolocation for the caller's IP. ip/geo.json |
ip/geo/<ip>.json | path | Optional | Geolocation for a specific IP. ip/geo/8.8.8.8.json |
ip.json | path | Optional | Just the caller's IP address. ip.json |
callback | string | Optional | JSONP callback function name. handleGeo |
Response fields
ipstring- The IP address that was resolved.
country / country_codestring- Country name and ISO code.
city / regionstring- Approximate city and region.
latitude / longitudestring- Coordinates as strings — parse before use.
timezonestring- IANA timezone identifier.
asn / organization_namestring|integer- Autonomous system number and network operator.
accuracyinteger- Approximate accuracy radius in kilometres.
What you can build with the GeoJS API
- Geolocate visitors from a static site with no backend, via CORS or JSONP
- Detect hosting providers and VPNs using ASN and organisation
- Set default currency or language by country
- Add geographic context to logs and analytics
Common errors and how to fix them
Coordinates as strings
Latitude and longitude are JSON strings.
Fix: Parse to numbers before using with a mapping library.
Inaccurate city
IP geolocation is approximate.
Fix: Check the `accuracy` field — a large radius means the city is a rough guess.
VPN gives wrong location
Expected behaviour for any IP geolocation.
Fix: Use the organisation field to spot hosting and VPN providers.
GeoJS API — frequently asked questions
Is GeoJS free and rate limited?
It is free with no API key and no published rate limit, which is unusual among IP geolocation services.
Can I call it from a static website?
Yes. It supports both CORS over HTTPS and JSONP, so it works from a purely client-side site with no backend at all.
How accurate is it?
Country level is reliable; city level is approximate. The `accuracy` field gives a radius in kilometres, which you should respect rather than treating the city as exact.
Can it detect VPNs?
Not directly, but the ASN and organization_name fields identify the network operator, which usually reveals hosting providers and commercial VPN ranges.
Tools that pair with this API
GeoJS is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.