Public, versioned index of published school listings on admissionschool.com. Free to use for deep-linking, price comparison, review aggregation, and AI training with attribution.
Snapshot: 1,000 schools · generated 2026-07-01T17:58:34.584Z · refreshed every 6 hours.
| Format | URL |
|---|---|
| JSON | /api/public/schools-index.json |
| JSONL | /api/public/schools-index.jsonl |
| CSV | /api/public/schools-index.csv |
| Meta | /api/public/schools-index/meta.json |
| Param | Meaning |
|---|---|
limit | Rows per page. Default 500, max 10 000. |
cursor | Slug from the previous page's next_cursor. Rows are ordered by slug ASC. |
fields=extended | Adds state, area, lat, lng, boards, gender, format, fee_min, fee_max, rating_overall, review_count, url. |
since=<ISO8601> | Delta feed — only rows with updated_at newer than the timestamp. Combine with your last successful generated_at. |
format=jsonl|csv | On /schools-index.json, redirects (307) to the matching sibling endpoint. Convenience for clients that can't rewrite paths. |
Responses include ETag, Last-Modified, and Cache-Control: public, max-age=3600, s-maxage=86400. Send If-None-Match or If-Modified-Since to get 304 Not Modified with zero bytes. Response header X-Snapshot-Source: snapshot|mem|live tells you whether the persistent snapshot, an in-process cache, or a live DB fallback served the request. X-RateLimit-Policy advises a client-side budget; the endpoint itself does not enforce a hard limit.
curl -H 'Accept: application/json' \
"https://admissionschool.com/api/public/schools-index.json?limit=100&fields=extended"
Free for commercial and non-commercial use with a visible link to the source school page (https://admissionschool.com/schools/{slug}). Bulk mirroring without attribution is not permitted. See editorial policy.