The Zip Code API enables you look up detailed information for every ZIP Code in the United States. You can input ZIP Codes directly, or search for ZIP Codes using city and state parameters.
HTTP GET
Returns a list of ZIP Code details matching the input parameters.
zip
(optional) - The ZIP Code to look up.
city
(optional) - Full name of the city to search (case-sensitive).
state
(optional) - 2-letter abbreviation of the state (case-insensitive).
X-Api-Key
(required) - API Key associated with your account.
Live Demo!
https://api.api-ninjas.com/v1/zipcode?city=
&state=
[
{
"zip_code": "97201",
"valid": true,
"city": "Portland",
"state": "OR",
"county": "Multnomah County",
"timezone": "America/Los_Angeles",
"area_codes": [
"503",
"971"
],
"country": "US",
"lat": "45.5074",
"lon": "-122.6898"
},
{
"zip_code": "97202",
"valid": true,
"city": "Portland",
"state": "OR",
"county": "Multnomah County",
"timezone": "America/Los_Angeles",
"area_codes": [
"971"
],
"country": "US",
"lat": "45.4803",
"lon": "-122.6451"
},
...
]
import requests
city = 'Portland'
state = 'OR'
api_url = 'https://api.api-ninjas.com/v1/zipcode?city={}&state={}'.format(city, state)
response = requests.get(api_url + city, headers={'X-Api-Key': 'YOUR_API_KEY'})
if response.status_code == requests.codes.ok:
print(response.text)
else:
print("Error:", response.status_code, response.text)
var city = 'Portland'
var state = 'OR'
$.ajax({
method: 'GET',
url: 'https://api.api-ninjas.com/v1/zipcode?city=' + city + '&state=' + state,
headers: { 'X-Api-Key': 'YOUR_API_KEY'},
contentType: 'application/json',
success: function(result) {
console.log(result);
},
error: function ajaxError(jqXHR) {
console.error('Error: ', jqXHR.responseText);
}
});
const request = require('request');
var city = 'Portland';
var state = 'OR'
request.get({
url: 'https://api.api-ninjas.com/v1/zipcode?city=' + city + '&state=' + state,
headers: {
'X-Api-Key': 'YOUR_API_KEY'
},
}, function(error, response, body) {
if(error) return console.error('Request failed:', error);
else if(response.statusCode != 200) return console.error('Error:', response.statusCode, body.toString('utf8'));
else console.log(body)
});
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import com.fasterxml.jackson.databind.ObjectMapper;
URL url = new URL("https://api.api-ninjas.com/v1/zipcode?city=Portland&state=OR");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("accept", "application/json");
InputStream responseStream = connection.getInputStream();
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(responseStream);
System.out.println(root.path("fact").asText());
let city = "Portland".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let state = "OR".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: "https://api.api-ninjas.com/v1/zipcode?city="+city+"&state="+state!)!
var request = URLRequest(url: url)
request.setValue("YOUR_API_KEY", forHTTPHeaderField: "X-Api-Key")
let task = URLSession.shared.dataTask(with: request) {(data, response, error) in
guard let data = data else { return }
print(String(data: data, encoding: .utf8)!)
}
task.resume()