| This page is part of theMediaWiki Action API documentation. |
| MediaWiki Action API |
|---|
| Basics |
| Authentication |
| Accounts and Users |
| Page Operations |
|
| Search |
| Developer Utilities |
| Tutorials |
| v · d · e |
GET request to search for wiki pages near a location with geographic coordinates or page name.
en.wikipedia.org in all API endpoints.View the complete documentation and list of supported parameters here.
Obtain coordinates ofWikimedia Foundation headquarters by providing the article title:
{"batchcomplete":"","query":{"pages":{"18618509":{"pageid":18618509,"ns":0,"title":"Wikimedia Foundation","coordinates":[{"lat":37.7891838,"lon":-122.4033522,"primary":"","globe":"earth"}]}}}}
#!/usr/bin/python3""" geocoordinates.py MediaWiki API Demos Demo of Geosearch module: Obtain coordinates for wiki pages nearby MIT License"""importrequestsS=requests.Session()URL="https://en.wikipedia.org/w/api.php"PARAMS={"action":"query","format":"json","titles":"Wikimedia Foundation","prop":"coordinates"}R=S.get(url=URL,params=PARAMS)DATA=R.json()PAGES=DATA['query']['pages']fork,vinPAGES.items():print("Latitute: "+str(v['coordinates'][0]['lat']))print("Longitude: "+str(v['coordinates'][0]['lon']))
<?php/* geocoordinates.php MediaWiki API Demos Demo of `Geosearch` module: Obtain coordinates for wiki pages nearby MIT License*/$endPoint="https://en.wikipedia.org/w/api.php";$params=["action"=>"query","prop"=>"coordinates","titles"=>"Wikimedia Foundation","format"=>"json"];$url=$endPoint."?".http_build_query($params);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);foreach($result["query"]["pages"]as$k=>$v){echo("Latitute: ".$v["coordinates"][0]["lat"]."\n");echo("Longitude: ".$v["coordinates"][0]["lon"]."\n");}
/* geocoordinates.js MediaWiki API Demos Demo of `Geosearch` module: Obtain coordinates for wiki pages nearby MIT License*/varurl="https://en.wikipedia.org/w/api.php";varparams={action:"query",prop:"coordinates",titles:"Wikimedia Foundation",format:"json"};url=url+"?origin=*";Object.keys(params).forEach(function(key){url+="&"+key+"="+params[key];});fetch(url).then(function(response){returnresponse.json();}).then(function(response){varpages=response.query.pages;for(varpageinpages){console.log("Latitute: "+pages[page].coordinates[0].lat);console.log("Longitude: "+pages[page].coordinates[0].lon);}}).catch(function(error){console.log(error);});
/*geocoordinates.jsMediaWiki API DemosDemo of `Geosearch` module: Obtain coordinates for wiki pages nearbyMIT License*/varparams={action:'query',prop:'coordinates',titles:'Wikimedia Foundation',format:'json'},api=newmw.Api();api.get(params).done(function(data){varpages=data.query.pages,page;for(pageinpages){console.log('Latitute: '+pages[page].coordinates[0].lat);console.log('Longitude: '+pages[page].coordinates[0].lon);}});
Search for pages nearWikimedia Foundation headquarters by specifying the geographic coordinates of its location:
| Response |
|---|
{"batchcomplete":"","query":{"geosearch":[{"pageid":18618509,"ns":0,"title":"Wikimedia Foundation","lat":37.7891838,"lon":-122.4033522,"dist":0,"primary":""},{"pageid":42936625,"ns":0,"title":"Foxcroft Building","lat":37.789166666667,"lon":-122.40333333333,"dist":2.5,"primary":""}...]}} |
| geosearch.py |
|---|
Python[edit]#!/usr/bin/python3""" geosearch.py MediaWiki API Demos Demo of `Geosearch` module: Search for wiki pages nearby MIT License"""importrequestsS=requests.Session()URL="https://en.wikipedia.org/w/api.php"PARAMS={"format":"json","list":"geosearch","gscoord":"37.7891838|-122.4033522","gslimit":"10","gsradius":"10000","action":"query"}R=S.get(url=URL,params=PARAMS)DATA=R.json()PLACES=DATA['query']['geosearch']forplaceinPLACES:print(place['title']) PHP[edit]<?php/* geosearch.php MediaWiki API Demos Demo of `Geosearch` module: Search for wiki pages nearby MIT License*/$endPoint="https://en.wikipedia.org/w/api.php";$params=["action"=>"query","list"=>"geosearch","gscoord"=>"37.7891838|-122.4033522","gsradius"=>"10000","gslimit"=>"10","format"=>"json"];$url=$endPoint."?".http_build_query($params);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);foreach($result["query"]["geosearch"]as$place){echo($place["title"]."\n");} JavaScript[edit]/* geosearch.js MediaWiki API Demos Demo of `Geosearch` module: Search for wiki pages nearby MIT License*/varurl="https://en.wikipedia.org/w/api.php";varparams={action:"query",list:"geosearch",gscoord:"37.7891838|-122.4033522",gsradius:"10000",gslimit:"10",format:"json"};url=url+"?origin=*";Object.keys(params).forEach(function(key){url+="&"+key+"="+params[key];});fetch(url).then(function(response){returnresponse.json();}).then(function(response){varpages=response.query.geosearch;for(varplaceinpages){console.log(pages[place].title);}}).catch(function(error){console.log(error);}); MediaWiki JS[edit]/*geosearch.jsMediaWiki API DemosDemo of `Geosearch` module: Search for wiki pages nearbyMIT License*/varparams={action:'query',list:'geosearch',gscoord:'37.7891838|-122.4033522',gsradius:'10000',gslimit:'10',format:'json'},api=newmw.Api();api.get(params).done(function(data){varpages=data.query.geosearch,place;for(placeinpages){console.log(pages[place].title);}}); |
As an enhancement to Example 2, here we use theGenerator module to get search results for pages nearWikimedia Foundation headquarters with images. Parameters passed along with a generator must be prefixed with ag. Note that in the query below, we've changedgs coord toggs coord.
| Response |
|---|
{"batchcomplete":"","query":{"pages":{"2608926":{"pageid":2608926,"ns":0,"title":"San Francisco Mechanics' Institute","index":0,"coordinates":[{"lat":37.788844,"lon":-122.403042,"primary":"","globe":"earth"}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/MechanicsInstituteSanFrancisco.jpg/32px-MechanicsInstituteSanFrancisco.jpg","width":32,"height":50},"pageimage":"MechanicsInstituteSanFrancisco.jpg"},}} |
| geoimagesearch.py |
|---|
Python[edit]#!/usr/bin/python3""" geoimagesearch.py MediaWiki API Demos Demo of `Geosearch` module: Use generator moduleto get search results for pages near Wikimedia HQwith images MIT License"""importrequestsS=requests.Session()URL="https://en.wikipedia.org/w/api.php"PARAMS={"action":"query","format":"json","ggscoord":"37.7891838|-122.4033522","generator":"geosearch","prop":"coordinates|pageimages"}R=S.get(url=URL,params=PARAMS)DATA=R.json()PLACES=DATA['query']['pages']fork,vinPLACES.items():print(str(v['title'])+": "+str(v['thumbnail']['source'])) PHP[edit]<?php/* geoimagesearch.php MediaWiki API Demos Demo of `Geosearch` module: Use generator moduleto get search results for pages near Wikimedia HQwith images MIT License*/$endPoint="https://en.wikipedia.org/w/api.php";$params=["action"=>"query","generator"=>"geosearch","prop"=>"coordinates|pageimages","ggscoord"=>"37.7891838|-122.4033522","format"=>"json"];$url=$endPoint."?".http_build_query($params);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);foreach($result["query"]["pages"]as$k=>$v){echo($v["title"].": ".$v["thumbnail"]["source"]."\n");} JavaScript[edit]/* geoimagesearch.js MediaWiki API Demos Demo of `Geosearch` module: Use generator moduleto get search results for pages near Wikimedia HQwith images MIT License*/varurl="https://en.wikipedia.org/w/api.php";varparams={action:"query",generator:"geosearch",prop:"coordinates|pageimages",ggscoord:"37.7891838|-122.4033522",format:"json"};url=url+"?origin=*";Object.keys(params).forEach(function(key){url+="&"+key+"="+params[key];});fetch(url).then(function(response){returnresponse.json();}).then(function(response){varpages=response.query.pages;for(varpageinpages){console.log(pages[page].title+": "+pages[page].thumbnail.source);}}).catch(function(error){console.log(error);}); MediaWiki JS[edit]/*geoimagesearch.jsMediaWiki API DemosDemo of `Geosearch` module: Use generator moduleto get search results for pages near Wikimedia HQwith imagesMIT License*/varparams={action:'query',generator:'geosearch',prop:'coordinates|pageimages',ggscoord:'37.7891838|-122.4033522',format:'json'},api=newmw.Api();api.get(params).done(function(data){varpages=data.query.pages,page;for(pageinpages){console.log(pages[page].title+': '+pages[page].thumbnail.source);}}); |

| Code | Info |
|---|---|
| badcoord | Invalid coordinate provided |
navigator.geolocation object. SeeMDN docs.