Discover/cps.edu API
live

cps.edu APIcps.edu

Access Chicago Public Schools data via API: search schools by name or filters, get full listings, and retrieve GeoJSON attendance boundary polygons for mapping.

Endpoints
4
Updated
3mo ago
Try it
Search term (school name or keyword)
api.parse.bot/scraper/0e034e5c-27fe-4f1b-9b45-a02e19c019ff/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0e034e5c-27fe-4f1b-9b45-a02e19c019ff/search_schools?term=Lincoln' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 4 totalclick to expand

Search for schools by name or term using autocomplete-style matching. Returns basic school information including name, address, network, governance, category, grades offered, rating, and neighborhood.

Input
ParamTypeDescription
termstringSearch term (school name or keyword)
Response
{
  "type": "object",
  "fields": {
    "count": "integer, number of schools returned",
    "schools": "array of school objects with school_id, short_name, long_name, address fields, network, governance, category, grades, rating, and neighborhood"
  },
  "sample": {
    "data": {
      "count": 2,
      "schools": [
        {
          "rating": "Inability to Rate",
          "network": "Network 4",
          "category": "ES",
          "long_name": "Abraham Lincoln Elementary School",
          "school_id": "610038",
          "governance": "District",
          "short_name": "LINCOLN",
          "address_zip": "60614",
          "address_city": "Chicago",
          "is_preschool": false,
          "neighborhood": "LINCOLN PARK",
          "rating_status": "Good Standing",
          "address_street": "615 W KEMPER Pl",
          "grades_offered": "K,1,2,3,4,5,6,7,8",
          "is_high_school": false,
          "grades_readable": "K-8",
          "is_middle_school": true,
          "is_elementary_school": true,
          "is_gocps_participant": true
        }
      ]
    },
    "status": "success"
  }
}

About the cps.edu API

The CPS.edu API exposes 4 endpoints covering Chicago Public Schools data — from autocomplete-style name search via search_schools to full GeoJSON attendance boundary polygons via get_school_boundaries. Each endpoint returns structured fields including school ID, network, governance type, grades offered, student count, rating, and community area, giving developers a direct path to CPS school data for directory, mapping, and research applications.

School Search and Discovery

The search_schools endpoint accepts a term parameter and returns matching schools with fields like school_id, short_name, long_name, address, network, governance, category, grades, rating, and neighborhood. It behaves like an autocomplete lookup — useful for building search UIs where users type a school name and see instant results. The get_all_schools endpoint requires no parameters and returns up to 100 schools with a fuller field set including phone, student_count, community, and GoCPS participation status.

Advanced Filtering with Facets

The advanced_search endpoint accepts POST requests with filter parameters including network, governance, grade_level, neighborhood, search_term, page_number, and page_size. The response includes total_results, page, page_size, and an available_filters array of facet objects — each with name, field, and options — so your UI can dynamically render filter controls from the data itself. Neighborhoods are passed as community area names such as WEST TOWN or LINCOLN PARK; governance values include District, Charter, and Contract.

GIS Boundary Data

The get_school_boundaries endpoint returns a GeoJSON FeatureCollection where each Feature contains a Polygon geometry with catchment area coordinates and a properties object holding school name, ID, boundary grades, and styling metadata. An optional year parameter (e.g., 2025) lets you request boundaries for a specific school year. This makes the endpoint directly usable with mapping libraries that consume standard GeoJSON.

Common use cases
  • Build a school finder map overlaying CPS attendance boundary polygons on a city basemap
  • Power a neighborhood school directory filtered by community area using the neighborhood parameter in advanced_search
  • Display a school profile page using student_count, phone, rating, and grades_offered from get_all_schools
  • Populate a faceted search UI using the available_filters array returned by advanced_search
  • Analyze charter vs. district school distribution across Chicago networks using governance and network fields
  • Support school enrollment research by cross-referencing GeoJSON catchment boundaries with census tract data
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does CPS have an official developer API?+
CPS publishes some datasets through the Chicago Data Portal (data.cityofchicago.org) under the city's open data program, but there is no official CPS developer API with documented endpoints for the school search, profiles, and boundary data covered here.
What does `get_school_boundaries` return and how is the `year` parameter used?+
The endpoint returns a GeoJSON FeatureCollection. Each Feature includes a Polygon geometry with attendance catchment coordinates and a properties object containing school name, school ID, boundary grades, and styling hints. Passing a year value like 2025 scopes the boundary data to that school year; omitting it returns the default (current) boundaries.
Does `advanced_search` return individual school program details such as magnet or selective enrollment program names?+
The advanced_search response includes a programs field on school objects alongside governance, network, and grade_level filters, but individual program-level detail pages and admissions criteria are not currently exposed as dedicated endpoints. The API covers search, listing, and boundary data. You can fork it on Parse and revise it to add an endpoint targeting individual program or admissions detail pages.
Is there a way to retrieve individual school profile data beyond what `get_all_schools` returns?+
Currently there is no single-school-by-ID endpoint; the most detailed per-school fields come from get_all_schools (which returns up to 100 schools) and advanced_search. Fields like phone, student_count, rating, community, and accessibility info are available from those two endpoints. You can fork the API on Parse and revise it to add a dedicated school profile endpoint keyed by school ID.
Does `get_all_schools` return every CPS school or only a subset?+
The endpoint returns up to 100 schools per call and exposes a count field showing the total number of schools in the system. If the system count exceeds 100, use advanced_search with page_number and page_size parameters to paginate through the full set.
Page content last updated . Spec covers 4 endpoints from cps.edu.
Related APIs in EducationSee all →
arxiv.org API
Search and discover academic research papers on arXiv using keywords, authors, titles, categories, and dates, then access detailed metadata for any paper. Browse the complete arXiv category taxonomy to explore research across different scientific disciplines.
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
athletic.net API
Search and analyze cross country and track & field performance data across the US, including athlete profiles, meet results, team rosters, and rankings. Access comprehensive meet information, historical records, and state-level competition data to track athlete progress and discover top performers.
allaboutcircuits.com API
Access educational electronics content from All About Circuits, including technical articles, circuit diagrams, textbook volumes, and forum discussions organized by category. Search and browse the latest resources, view detailed articles, explore engineering tools, and find answers across their community forums.
illinoisreportcard.com API
Search and analyze comprehensive performance data for Illinois public schools, districts, and the state, including academic achievements in ELA, math, and science, student demographics, teacher and administrator information, school finances, and environmental conditions. Compare schools side-by-side, track growth metrics, and access accountability ratings and school highlights to make informed decisions about education quality.
noor-book.com API
Search and discover books across 1,800+ categories in the Noor Book library, retrieving detailed information about titles, authors, biographies, and book metadata. Access comprehensive author profiles and browse one of the largest Arabic and English digital book collections with over 289,000 authors.
quizbowlpackets.com API
Search and browse thousands of quizbowl question sets across all competition levels, then access detailed metadata like difficulty, subjects, and download links for each packet. Find the perfect practice materials for High School, Collegiate, Middle School, or Pop Culture quizbowl competitions.
amberstudent.com API
Search student accommodation listings across popular cities and access comprehensive property information including room types, pricing trends, and tenant reviews. Get detailed insights into student housing options to compare amenities, prices, and community feedback all in one place.