Geocode.xyz API

Beginner's Pick Geocoding / No Auth Required Beginner HTTPS
Free to Use
72 B
Measured Score 0 50 100 Speed 9/30 Consistency 20/20 Security 20/20 Browser access 15/15 Transparency 8/15 TESTED 2026-08-10

Overview

Geocode.xyz is a free worldwide geocoding API that supports forward and reverse geocoding, batch operations, and geoparsing of natural language text. It covers global addresses without requiring an API key for basic use, making it very accessible for beginners. You can even extract location mentions from free-form text using its geoparsing feature.

Beginner Tip

Without an API key you may experience rate limiting with a 1-second delay between requests. For faster access and batch geocoding of multiple addresses at once, register for a free API key.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://geocode.xyz/Eiffel+Tower,+Paris,+France?json=1
Result
HTTP 200 · application/json · 802 bytes · compressed
Response time
347 ms (median of 3) · fastest 337 ms
Transport
TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Google Trust Services
Browser CORS
Allowed — Access-Control-Allow-Origin: *
Served by
cloudflare
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
distance string Throttled! See geocode.xyz/pricing
elevation string Throttled! See geocode.xyz/pricing
latt string Throttled! See geocode.xyz/pricing
city string Throttled! See geocode.xyz/pricing
prov string Throttled! See geocode.xyz/pricing
geocode string Throttled! See geocode.xyz/pricing
stnumber string Throttled! See geocode.xyz/pricing
staddress string Throttled! See geocode.xyz/pricing
geonumber string Throttled! See geocode.xyz/pricing
inlatt string Throttled! See geocode.xyz/pricing
timezone string Throttled! See geocode.xyz/pricing
region string Throttled! See geocode.xyz/pricing
postal string Throttled! See geocode.xyz/pricing
longt string Throttled! See geocode.xyz/pricing

Captured Response

Captured from a real request to https://geocode.xyz/Eiffel+Tower,+Paris,+France?json=1 on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
{
  "distance": "Throttled! See geocode.xyz/pricing",
  "elevation": "Throttled! See geocode.xyz/pricing",
  "latt": "Throttled! See geocode.xyz/pricing",
  "city": "Throttled! See geocode.xyz/pricing",
  "prov": "Throttled! See geocode.xyz/pricing",
  "geocode": "Throttled! See geocode.xyz/pricing",
  "stnumber": "Throttled! See geocode.xyz/pricing",
  "staddress": "Throttled! See geocode.xyz/pricing",
  "geonumber": "Throttled! See geocode.xyz/pricing",
  "inlatt": "Throttled! See geocode.xyz/pricing",
  "timezone": "Throttled! See geocode.xyz/pricing",
  "region": "Throttled! See geocode.xyz/pricing",
  "postal": "Throttled! See geocode.xyz/pricing",
  "longt": "Throttled! See geocode.xyz/pricing",
  "…": "(2 more fields)"
}

Field Reference

longt Longitude of the geocoded location as a string in decimal degrees.
latt Latitude of the geocoded location as a string in decimal degrees.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://geocode.xyz/Eiffel+Tower,+Paris,+France?json=1";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

Throttled response with "throttled" in JSON Exceeding the free rate limit of one request per second without an API key.
Add a 1-second delay between requests, or register for a free API key at geocode.xyz to increase your limit.
latt and longt fields show 0.0 The address could not be found or the query is too vague.
Provide a more specific address including city and country. Check that the address is spelled correctly.
Batch request returns partial results Some addresses in a batch could not be resolved.
Check for null or zero values in the batch response and retry those individual addresses with more detail.

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 9/30
Consistency 20/20
Security 20/20
Browser access 15/15
Transparency 8/15
Endpoint Response Time 347ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS UNKNOWN
Category Geocoding
Difficulty Beginner
Endpoint last called: 2026-08-10

Related Tags

Alternatives to Geocode.xyz

Technical alternatives for different use cases.

Excellent US/Canada geocoding with census data appending

Better For

US-focused applications needing address verification

Trade-off

Global geocoding outside North America

Aggregates multiple geocoding sources for better coverage

Better For

Global geocoding with consistent quality

Trade-off

Free usage without rate limits

Similar APIs

View All →