Geocode.Farm drop-in replacement
Geocode.Farm's forward and reverse endpoints, in both the v3 and v4 URL styles, answer at farm.mygeocode.com. The nested geocoding_results object with STATUS, ACCOUNT, RESULTS and STATISTICS sections is reproduced so existing parsers keep working.
Change one hostname
| Original host |
|
|---|---|
| Use instead | farm.mygeocode.com |
| Key parameter | key (put your My Geocode key here, or leave it out for the free 2,500 a day) |
curl "https://www.geocode.farm/v3/json/forward/?addr=530+W+Main+St+Anoka+MN+55303&key=YOUR_FARM_KEY"curl "https://farm.mygeocode.com/v3/json/forward/?addr=530+W+Main+St+Anoka+MN+55303&key=YOUR_MYGEOCODE_KEY"Why people move
If you started on Geocode.Farm for its free tier, you get a larger free tier here (2,500 a day) with house-level results in more countries. See the coverage page.
Try it before you sign up for anything. Requests to farm.mygeocode.com count toward the same 2,500 a day you get on our own endpoints, with no key and no account. Above that, credits at $0.001 per request or €50 a month unlimited. Signing up takes an email address and nothing else.
Endpoints
| Path on farm.mygeocode.com | What it does | Backed by |
|---|---|---|
/forward/?addr=... | Forward geocoding, v4 style | Forward geocoding |
/reverse/?lat=...&lon=... | Reverse geocoding, v4 style | Reverse geocoding |
/v3/json/forward/?addr=... | Forward geocoding, v3 style | Forward geocoding |
/v3/json/reverse/?lat=...&lon=... | Reverse geocoding, v3 style | Reverse geocoding |
Example response
This is what the request above returns. Field names, nesting and types follow Geocode.Farm. Only the data behind them is ours.
{
"geocoding_results": {
"LEGAL_COPYRIGHT": {
"copyright_notice": "Copyright My Geocode. All rights reserved.",
"copyright_logo": "https://mygeocode.com/assets/img/logo.svg",
"terms_of_service": "https://mygeocode.com/terms/",
"privacy_policy": "https://mygeocode.com/privacy/"
},
"STATUS": {
"access": "KEY_VALID, ACCESS_GRANTED",
"status": "SUCCESS",
"address_provided": "530 W Main St Anoka MN 55303",
"result_count": 1
},
"ACCOUNT": {
"ip_address": "203.0.113.24",
"distribution_license": "NONE, UNLICENSED",
"usage_limit": "2500",
"used_today": "17",
"used_total": "9120",
"first_used": "2026-03-02"
},
"RESULTS": [
{
"result_number": 1,
"formatted_address": "530 W Main St, Anoka, MN 55303, USA",
"accuracy": "EXACT_MATCH",
"ADDRESS": {
"street_number": "530",
"street_name": "W Main St",
"locality": "Anoka",
"admin_2": "Anoka County",
"admin_1": "MN",
"postal_code": "55303",
"country": "United States"
},
"LOCATION_DETAILS": {
"elevation": "268.4",
"timezone_long": "America/Chicago",
"timezone_short": "CDT"
},
"COORDINATES": { "latitude": "45.203146", "longitude": "-93.396711" },
"BOUNDARIES": {
"northeast_latitude": "45.203296",
"northeast_longitude": "-93.396461",
"southwest_latitude": "45.202996",
"southwest_longitude": "-93.396961"
}
}
],
"STATISTICS": { "https_ssl": "ENABLED, SECURE" }
}
}Details and differences
- accuracy uses Geocode.Farm's labels: EXACT_MATCH, HIGH_ACCURACY, MEDIUM_ACCURACY, UNKNOWN_ACCURACY.
- The ACCOUNT block reports our quota figures in its fields, so anything reading used_today and usage_limit keeps working.
- LOCATION_DETAILS is filled with a real elevation and timezone lookup for the result. Those two lookups are included in the price of the one request.
- Both key and the older lang, count and country parameters are honoured.
If your client depends on a field or behaviour that is not listed here, tell us. Compatibility gaps get fixed quickly because they are usually small.