{"id":15433194,"url":"https://github.com/simonw/geocoders","last_synced_at":"2025-07-31T18:31:46.588Z","repository":{"id":578181,"uuid":"210864","full_name":"simonw/geocoders","owner":"simonw","description":"Ultra simple API for geocoding a single string against various web services.","archived":false,"fork":false,"pushed_at":"2013-10-28T21:43:24.000Z","size":117,"stargazers_count":183,"open_issues_count":3,"forks_count":22,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-10-18T07:54:22.602Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"astaxie/beego","license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonw.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-05-26T20:11:19.000Z","updated_at":"2024-03-29T19:14:04.000Z","dependencies_parsed_at":"2022-07-05T01:01:51.795Z","dependency_job_id":null,"html_url":"https://github.com/simonw/geocoders","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonw%2Fgeocoders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonw%2Fgeocoders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonw%2Fgeocoders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonw%2Fgeocoders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonw","download_url":"https://codeload.github.com/simonw/geocoders/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248803682,"owners_count":21164095,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T18:32:31.464Z","updated_at":"2025-04-14T00:37:24.119Z","avatar_url":"https://github.com/simonw.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Geocoders\n=========\n\nCode for accessing various geocoding web services with an ultra simple API:\n\n    name, (lat, lon) = geocode('london')\n\nThe geocode functions return (unicode_place_name, (float_lat, float_lon)) if\nthe string can be geocoded, and (None, (None, None)) if it cannot.\n\nCurrently supported: Google Geocoder, Yahoo! Geocoder, Yahoo! Placemaker,\nGeoNames, Multimap, and Nominatim.\n\nGoogle:\n\n\u003e\u003e\u003e from geocoders.google import geocoder\n\u003e\u003e\u003e geocode = geocoder('GOOGLE-API-KEY')\n\u003e\u003e\u003e geocode('new york')\n(u'New York, NY, USA', (40.756053999999999, -73.986951000000005))\n\u003e\u003e\u003e geocode('oneuth')\n(u'South, Bloomfield, NY 14469, USA', (-77.5385449999999, 42.865267000000003))\n\nYahoo!:\n\n\u003e\u003e\u003e from geocoders.yahoo import geocoder\n\u003e\u003e\u003e geocode = geocoder('YAHOO-API-KEY')\n\u003e\u003e\u003e geocode('new york')\n(u'New York, NY, US', (40.714550000000003, -74.007124000000005))\n\u003e\u003e\u003e geocode('oneuth')\n(u'Aneth, UT 84510, US', (37.217799999999997, -109.189911))\n\nYahoo! Placemaker:\n\n\u003e\u003e\u003e from geocoders.placemaker import geocoder\n\u003e\u003e\u003e geocode = geocoder('YAHOO-API-KEY')\n\u003e\u003e\u003e geocode('new york')\n(u'New York, NY, US', (40.714500000000001, -74.007099999999994))\n\u003e\u003e\u003e geocode('oneuth')\n(None, (None, None))\n\nWhile Yahoo! Placemaker isn't strictly designed as a geocoder, in practice it\ncan be useful for things like \"did you mean location X\" in a regular search\nengine.\n\nGeoNames:\n\n\u003e\u003e\u003e from geocoders.geonames import geocode # No need for a geocoder factory\n\u003e\u003e\u003e geocode('new york')\n(u'New York', (40.714269100000003, -74.005972900000003))\n\u003e\u003e\u003e geocode('oneuth')\n(None, (None, None))\n\nMultimap:\n\n\u003e\u003e\u003e from geocoders.multimap import geocoder\n\u003e\u003e\u003e geocode = geocoder('MULTIMAP-API-KEY')\n\u003e\u003e\u003e geocode('new york')\n('New York, State of New York, United States', ('43.00035', '-75.49990'))\n\u003e\u003e\u003e geocode('oneuth')\n('Omeath, Louth', ('54.08790', '-6.26070'))\n\nNominatim:\n\n\u003e\u003e\u003e from geocoders.nominatim import geocoder\n\u003e\u003e\u003e geocode = geocoder('EMAIL-ADDRESS')\n\u003e\u003e\u003e geocode('new york')\n('New York, United States of America, North America', ('40.7305991', '-73.9865812'))\n\u003e\u003e\u003e geocode('oneuth')\n(None, (None, None))\n\n\nReversing the order\n-------------------\n\nSome libraries use (longitude, latitude) co-ordinate pairs instead of the \n(latitude, longitude) returned by the geocode functions. The geocoder factory \nfunctions all take an optional lonlat=True argument if you need this \nbehaviour. Some examples:\n\nGoogle:\n\n\u003e\u003e\u003e from geocoders.google import geocoder\n\u003e\u003e\u003e geocode = geocoder('GOOGLE-API-KEY', lonlat = True)\n\u003e\u003e\u003e geocode('new york')\n(u'New York, NY, USA', (-74.005972900000003, 40.714269100000003))\n\nGeoNames:\n\n\u003e\u003e\u003e from geocoders.geonames import geocoder # Using geocoder factory\n\u003e\u003e\u003e geocode = geocoder(lonlat = True)\n\u003e\u003e\u003e geocode('new york')\n(u'New York', (-74.005972900000003, 40.714269100000003))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonw%2Fgeocoders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonw%2Fgeocoders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonw%2Fgeocoders/lists"}