{"eid":"geojs","name":"GeoJS","domain":"geojs.io","resolved_by":"domain","topics":["data-apis"],"n_records":1,"best_vorder":0,"review":null,"aliases":["GeoJS","geojs.io"],"records":[{"rid":"data-apis/geojs","card":{"rid":"data-apis/geojs","eid":"geojs","topic":"data-apis","slug":"geojs","provider":"GeoJS","url":"https://www.geojs.io/","domain":"geojs.io","category":"IP geolocation API","tier":"Free","verdict":"qualifies","vorder":0,"grp":"usable","self_hosted":0,"confidence":"documented","binding":"none","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-31T06:24:05.368Z","verified_basis":"live","checked_on":"2026-10-31","stale_on":"2026-12-01","n_evidence":6,"usd_month":null,"usd_per_tb_month":null,"summary":"free REST, JSON and JSONP IP geolocation with no key, HTTPS only, no rate limits (yet); data from MaxMind GeoLite","duplicate_of":null,"n_unknown":1,"free_unit":"unlimited"},"record":{"topic":"data-apis","slug":"geojs","provider":"GeoJS","url":"https://www.geojs.io/","category":"IP geolocation API","tier":"Free","free_tier":{"stated":"free REST, JSON and JSONP IP geolocation with no key, HTTPS only, no rate limits (yet); data from MaxMind GeoLite","unit":"unlimited","metered_on":"none","source_url":"https://www.geojs.io/","read_on":"2026-10-30"},"per_object_cap":{"stated":"not stated","bytes":null},"retention":{"stated":"not stated","days":null},"egress":{"terms":"not applicable","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://www.geojs.io/"},"interface":["rest"],"interface_detail":"GET https://get.geojs.io/v1/ip/geo/{ip}.json (also country, ptr and the caller's own IP), CORS enabled","endpoint":"https://get.geojs.io/v1/ip/geo/","tooling":"any HTTP client or a browser script tag","chaining":"keyless lookups with no stated rate limit over MaxMind GeoLite data; for large volumes the GeoLite databases themselves are the bulk route. Bulk path: none","limits":[],"binding":"none","binding_note":"no quota or rate limit is published","identity_cost":{"kind":"anonymous","detail":"no key and no account","country":null},"reliability_note":"a one-person project behind Cloudflare; the no-rate-limit statement is qualified with yet","confidence":"documented","confidence_note":"the home page was quoted on 2026-10-30 and a keyless lookup answered HTTP 200; no volume was sent to test for an unstated limit.","evidence":[{"url":"https://www.geojs.io/","date":"2026-10-30","proved":"no rate limits are applied, for now","capture":"sha256:d722061abf7ba8660fde3fc9b1e768e9f659bbe05a2c34a3397e664ce877f93a","quote":"No rate limits (yet)"},{"url":"https://www.geojs.io/","date":"2026-10-30","proved":"the API is HTTPS only","capture":"sha256:d722061abf7ba8660fde3fc9b1e768e9f659bbe05a2c34a3397e664ce877f93a","quote":"HTTPS only"},{"url":"https://www.geojs.io/","date":"2026-10-30","proved":"the data comes from MaxMind GeoLite","capture":"sha256:d722061abf7ba8660fde3fc9b1e768e9f659bbe05a2c34a3397e664ce877f93a","quote":"as all GeoIP data is sourced from their GeoLite database"},{"url":"https://www.geojs.io/","date":"2026-10-30","proved":"the API host","capture":"sha256:d722061abf7ba8660fde3fc9b1e768e9f659bbe05a2c34a3397e664ce877f93a","quote":"https://get.geojs.io/v1/ip/geo.js"},{"url":"https://www.geojs.io/","date":"2026-10-30","proved":"GeoJS is a one-person project","capture":"sha256:d722061abf7ba8660fde3fc9b1e768e9f659bbe05a2c34a3397e664ce877f93a","quote":"GeoJS is made with  by [jloh](https://jloh.co/)."},{"url":"probe:https://get.geojs.io/v1/ip/geo/8.8.8.8.json","date":"2026-10-30","proved":"a keyless lookup answered","capture":"sha256:28a80940384cd9d04b34c0a375abdddcf633ff776adc4c14a88379df1ce27ffc","quote":"\"country_code\":\"US\""}],"verdict":"qualifies","verified_at":"2026-10-31T06:24:05.368Z","notes":"Free requests: no stated quota. Rate limit: none stated (yet). Bulk path: none.","extras":{"bulk_path":"none","free_requests":"no stated limit"}},"claims":[{"path":"$.free_tier","kind":"has-free-tier","num":1.0,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.egress.terms","not-applicable"]],"history":[],"drift":[]}]}