BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://get.geojs.io/v1/ip/geo.json'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://get.geojs.io/v1/ip/geo.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "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

ParameterTypeRequiredDescription
ip/geo.jsonpathOptionalFull geolocation for the caller's IP. ip/geo.json
ip/geo/<ip>.jsonpathOptionalGeolocation for a specific IP. ip/geo/8.8.8.8.json
ip.jsonpathOptionalJust the caller's IP address. ip.json
callbackstringOptionalJSONP 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.