A super slim and speedy JSON API that returns location info about ZIPĀ® Codes using public-domain data from the Zip Code Database Project.
switch to go modules
Merge pull request #1 from benburwell/distance-calc
5be5fe17 — Ben Burwell 4 years ago
Update readme

refs

master
browse log

clone

read-only
https://git.sr.ht/~benburwell/zipserver
read/write
git@git.sr.ht:~benburwell/zipserver

You can also use your local clone with git send-email.

Deploy

Usage

To run the server on port 8080 (set the PORT environment variable to override):

go build .
./zipserver

To get zipcode info using curl and jq:

curl --silent http://localhost:8080/zip/18101 | jq '.'

Response

Your response will look something like this:

{
    "latitude": 40.602847,
    "longitude": -75.47022,
    "city": "Allentown",
    "state": "PA"
}

If the zipcode you request isn't in the database, you'll get a 404 status with an empty body.

Add a ?distance= parameter to your request to see how far away two zipcodes are. The response format will be the same as above with an additional distance key that contains info about the second zipcode as well as miles and kilometers keys. If the second zipcode can't be found, the distance key won't be included.

Data

This project uses public-domain zipcode data from the Zip Code Database Project.