(editor's note: There is, in fact, no supported web api, and this information is NOT stable. it will change without notice. if you write to this, don't be surprised when it breaks.
NOTE: a different version of this (still unsupported and subject to change) document has been posted by izzy4505 [here]
As of March 15 2005, this describes a cgi query structure of the WiGLE database.
If you're writing a client to interact with the WiGLE online database, you can find information here.
Search form can be found here: http://wigle.net/gps/gps/main/query/
the form sends the query via httpd POST (will also accept PUT) method to http://wigle.net/gps/gps/main/confirmquery/
A PUT query using a range of geographic coordinates looks like this: http://wigle.net/gps/gps/main/confirmquery/?latrange1=49.391&latrange2=49.114&longrange1=-123.300034&longrange2=-122.7495
However this will only return the first 1000 entries. Subsequent entries can be found by adding the "pagestart" variable, which is a database offset. So appending "&pagestart=1000" to the above PUT query would give the second 1000 APs.
Currently this method appears only to display the first 11000 entries. That is, any higher values than 10000 specified using the "pagestart" variable returns the page 10001-11000.
List of CGI variables.
Queries are defined by either a pair of latitude longitude values OR a US address and degree variance (radius around the city)
latrange1 [-90 - 90]
latrange2 [-90 - 90]
longrange1 [-180 - 180]
longrange2 [-180 - 180]
addresscode [US address only]
statecode [US state only]
zipcode [US zipcode only]
variance [+/- degrees, 0.010 - 0.2]
pagestart [offset, eg 1000]
lastupdt [YYYYMMDDHHMMSS, eg 20010925174546]
netid [BSSID or MAC, eg. 0A:2C:EF:3D:25:1B]
ssid [SSID or network name, eg linksys]
freenet [boolean eg. On]
paynet [boolean eg. On]
dhcp [boolean eg. On]
onlymine [boolean eg. On]
Likely there are other variables undocumented here.