Walk Score API: Get Walk Score
Gets the Walk, Transit and Bike Scores and neighborhood details for a street address. Unpublished scores are null; unresolved or mismatched addresses are not found.
Unofficial. Not affiliated with or endorsed by Walk Score.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Address, required
address Street address with city and state, for example 1600 Pennsylvania Ave NW, Washington, DC.
1600 Pennsylvania Ave NW, Washington, DC
Input as JSON
{ "address": "1600 Pennsylvania Ave NW, Washington, DC"}Output
{ "address": "1600 Pennsylvania Avenue Northwest, Washington, DC 20500", "summary": "This location is a Walker’s Paradise so daily errands do not require a car.", "bike_score": 80, "walk_score": 95, "transit_score": 100, "score_page_link": "https://www.walkscore.com/score/1600-pennsylvania-ave-nw-washington-dc-20500" , "bike_description": "Very Bikeable", "walk_description": "Walker’s Paradise", "transit_description": "Rider’s Paradise", "nearby_amenities_summary": "Nearby parks include East Executive Park, General William Tecumseh Sherman Monument and Presidents Park."}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"walkscore.com/get_walk_score","input":{"address":"1600 Pennsylvania Ave NW, Washington, DC"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "walkscore.com/get_walk_score" , "input": { "address": "1600 Pennsylvania Ave NW, Washington, DC" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "walkscore.com/get_walk_score" , "input": { "address": "1600 Pennsylvania Ave NW, Washington, DC" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run walkscore.com/get_walk_score# with {"address":"1600 Pennsylvania Ave NW, Washington, DC"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "address" ], "properties": { "address": { "type": "string", "description": "Street address with city and state, for example 1600 Pennsylvania Ave NW, Washington, DC." } }}Output schema
{ "type": "object", "required": [ "address", "walk_score", "walk_description", "transit_score", "transit_description", "bike_score", "bike_description", "summary", "nearby_amenities_summary", "score_page_link" ], "properties": { "address": { "type": "string", "description": "Matched street address, city, state and postal code." }, "summary": { "type": [ "string", "null" ], "description": "One-sentence walkability summary shown for this location." }, "bike_score": { "type": [ "integer", "null" ], "description": "Bike Score from 0 to 100, or null if unpublished." }, "walk_score": { "type": [ "integer", "null" ], "description": "Walk Score from 0 to 100, or null if unpublished." }, "transit_score": { "type": [ "integer", "null" ], "description": "Transit Score from 0 to 100, or null if unpublished." }, "score_page_link": { "type": "string", "description": "Link to the matched address score page." }, "bike_description": { "type": [ "string", "null" ], "description": "Bike Score description, or null if unpublished." }, "walk_description": { "type": [ "string", "null" ], "description": "Walk Score description, or null if unpublished." }, "transit_description": { "type": [ "string", "null" ], "description": "Transit Score description, or null if unpublished." }, "nearby_amenities_summary": { "type": [ "string", "null" ], "description": "Nearby amenities summary when shown." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
walkscore.com/get_walk_score- Returns
- matched address, walk/transit/bike scores and descriptions, summary, nearby amenities, score page link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method walkscore.com/get_walk_score with the inputs above.
Ask your agent
- How walkable is 742 Evergreen Terrace, Portland, OR? I'd like the walk, transit and bike scores.
- Pull the Walk Score page for 350 5th Ave, New York, NY, including nearby amenities.
- I'm thinking of renting at 2100 N Lamar Blvd, Austin, TX. How good is transit and bikeability there?
- Check walkscore.com for 1 Infinite Loop, Cupertino, CA and give me the score descriptions and neighborhood summary.
- What are the walkability, transit and cycling ratings for 455 Market St, San Francisco, CA, and what amenities are close by?
See more
Finds map coordinates and address details for an address or place on OpenStreetMap, optionally restricted to a country.
openstreetmap.org/get_coordinatesMatches a US street address and returns its city or place, county, state, ZIP code, census tract, congressional and state legislative districts, coordinates and FIPS codes. Districts follow the Census Geocoder's current geography vintage and may differ from sitting representation.
census.gov/get_address_detailsGets a home's details from Realtor.com by street address or Realtor.com property link: status, list price, value estimate, beds, baths, size, year built, HOA fee, property and tax history, nearby schools, flood risk and photos.
realtor.com/get_homeFind restaurants delivering to an address in Uber Eats guest browsing order. Fees can be conditional for new users; displayed rating counts may be rounded.
ubereats.com/search_restaurantsTurns map coordinates into a readable address with OpenStreetMap Nominatim, at address, street or city detail, with the address parts and an OpenStreetMap link. Results reflect the nearest mapped feature.
openstreetmap.org/get_addressFinds DoorDash restaurants delivering to a street address or ZIP code, optionally for a cuisine or dish, in DoorDash's search order. Fees and times reflect guest offers; the numeric fee is null when DoorDash shows no amount.
doordash.com/search_restaurantsLooks up a public Google Maps place by name and location and returns its profile: address, rating, hours, phone, website and photos.
google.com/get_placeSearches Apartments.com rentals by city, neighborhood, or ZIP code, with optional rent, bedroom, pet, and page filters. Rent and availability wording is returned when displayed; missing details are null.
apartments.com/search_apartments