Etstack APIwebquery-washoe-nv.etstack.io ↗
Look up zoned schools and bus transportation eligibility for any Washoe County, NV address. Returns elementary, middle, and high school assignments via one endpoint.
What is the Etstack API?
The Washoe County School Finder API exposes one endpoint — find_eligible_schools — that returns up to three zoned school assignments (elementary, middle, and high school) along with grades served, program codes, transportation eligibility, and location data for any street address in Washoe County, Nevada. Each response object includes school name, school code, grade range, and bus eligibility, giving developers a structured way to query school-zone data by address or coordinates.
curl -X POST 'https://api.parse.bot/scraper/5a98b794-e7a8-4b4f-9be7-4b2573cd2576/find_eligible_schools' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"address": "1155 E 9th St, Reno, NV 89512, USA",
"program": "PUB"
}'Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace webquery-washoe-nv-etstack-io-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: washoe_schools SDK — bounded, re-runnable; every call capped."""
from parse_apis.webquery_washoe_nv_etstack_io_api import WashoeSchools, Program, AddressNotFound
client = WashoeSchools()
# Look up all zoned schools for an address
for school in client.schools.find(address="123 Main St, Springfield, IL 62704", limit=3):
print(school.school_name, school.grades, school.eligible_for_transportation)
# Filter by grade to find just the middle school
item = client.schools.find(address="123 Main St, Springfield, IL 62704", grade="06", limit=1).first()
if item:
print(item.school_name, item.school_code, item.grades)
# Use coordinates for reliable geocoding
try:
for school in client.schools.find(
address="123 Main St, Springfield, IL 62704",
latitude="39.4686",
longitude="-119.7966",
program=Program.PUB,
limit=3,
):
print(school.school_name, school.eligible_for_transportation)
except AddressNotFound as e:
print(f"address not found: {e.address}")
print("exercised: schools.find")Given an address in Washoe County, returns the zoned elementary, middle, and high schools along with grades served and bus transportation eligibility. When coordinates are provided, geocoding is bypassed and the point is used directly; otherwise the backend attempts to geocode the address string. Results are auto-iterated as a flat list of assigned schools.
| Param | Type | Description |
|---|---|---|
| grade | string | Grade code to filter results (e.g. 'K', '01'-'13', 'EC', 'AD', 'TRPA', 'TRPD'). Omit for all grades. |
| addressrequired | string | Street address in Washoe County, NV (e.g. '1155 E 9th St, Reno, NV 89512, USA'). |
| program | string | Program code filter. |
| latitude | string | Decimal latitude of the address (e.g. '39.5390291'). When provided with longitude, bypasses server-side geocoding. |
| longitude | string | Decimal longitude of the address (e.g. '-119.7992102'). When provided with latitude, bypasses server-side geocoding. |
{
"type": "object",
"fields": {
"schools": "array of assigned school objects with name, code, grades, programs, transportation eligibility, and location"
},
"sample": {
"data": {
"schools": [
{
"grades": [
"06",
"07",
"08"
],
"latitude": 39.54079418871617,
"programs": [
"PUB"
],
"longitude": -119.79266344319265,
"school_code": "305",
"school_name": "TRANER MS",
"eligible_for_transportation": false
},
{
"grades": [
"01",
"02",
"03",
"04",
"05",
"EC",
"K"
],
"latitude": 39.54134849840006,
"programs": [
"PUB"
],
"longitude": -119.79433713689559,
"school_code": "204",
"school_name": "DUNCAN ES",
"eligible_for_transportation": false
},
{
"grades": [
"09",
"10",
"11",
"12",
"13",
"TRPA",
"TRPD"
],
"latitude": 39.56500403751632,
"programs": [
"PUB"
],
"longitude": -119.76807690058789,
"school_code": "504",
"school_name": "PROCTER HUG HS",
"eligible_for_transportation": false
}
]
},
"status": "success"
}
}About the Etstack API
What the API Returns
The find_eligible_schools endpoint accepts a Washoe County, NV street address and returns an array of school objects. Each object in the schools array includes the school's name, a school code, the grades served (e.g., K–5, 6–8, 9–12, or special codes like EC and TRPA), any program codes attached to that assignment, transportation eligibility status, and location details. The response covers all three standard school levels in a single call.
Filtering and Coordinate Input
You can narrow results by supplying a grade parameter (values include K, 01–13, EC, AD, TRPA, TRPD) to retrieve only the assignment relevant to a specific grade level. A program parameter allows additional filtering by program code. If you already have geocoordinates, pass latitude and longitude as decimal strings alongside the address; when both are present, the server-side geocoding step is bypassed and the supplied point is used directly. This is useful when you have precise coordinates from your own geocoder or want to query a specific parcel boundary.
Coverage and Scope
Coverage is limited to addresses within Washoe County, Nevada. The data reflects zoned school assignments — meaning the school a student at that address would be assigned to by default — not enrollment availability, waitlist status, or open-enrollment options. Grade codes beyond the standard K–12 range (EC for early childhood, AD, TRPA, TRPD) indicate special program or transport-policy tiers that Washoe County School District uses internally.
The Etstack API is a managed, monitored endpoint for webquery-washoe-nv.etstack.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when webquery-washoe-nv.etstack.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official webquery-washoe-nv.etstack.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display zoned school assignments on a real estate listing page using the
schoolsarray fromfind_eligible_schools. - Check bus transportation eligibility for a given address before committing to a rental or home purchase.
- Build a school-district map overlay by querying multiple addresses and plotting returned school codes and locations.
- Filter school results by grade level using the
gradeparameter to show only the relevant school tier to a parent. - Validate whether an address falls within Washoe County school-zone coverage for a relocation tool.
- Integrate school-zone data into a neighborhood scoring model alongside walk scores or commute times.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Washoe County School District offer an official public developer API?+
What does the `schools` array in the response actually contain?+
schools array represents one zoned school assignment and includes the school name, school code, grades served, program codes, bus transportation eligibility, and location details. A typical response includes up to three objects covering elementary, middle, and high school levels.Does the API cover charter schools, magnet schools, or open-enrollment options for a given address?+
find_eligible_schools endpoint returns default zoned school assignments only — it does not include charter schools, magnet programs, or open-enrollment alternatives available to an address. You can fork this API on Parse and revise it to add an endpoint targeting those program types.Is there a way to look up school zones for addresses outside Washoe County, NV?+
What happens if I omit the `grade` parameter?+
grade returns all zoned school assignments for the address across every applicable grade level. Including a specific grade code (e.g., K, 06, EC) filters the response to only the school object relevant to that grade.