This project provides a Python script for downloading and organizing U.S. K–12 educational standards using the Common Standards Project API. The goal is to centralize and preserve curriculum standards from all 50 U.S. states, including support for NGSS, Science, ELA, and other subjects.
- ✅ Extracts curriculum standards from the CSP API
 - ✅ Supports batch processing across all U.S. states
 - ✅ Saves each standard as an individual JSON file
 - ✅ Converts standards into a CSV file for review or analysis
 - ✅ Captures metadata like subject, grade levels, source URL, and validity
 
- Python 3.7+
 - Modules:
requestspandas
 
Install dependencies with:
pip install -r requirements.txtYou must request and include a valid API key from commonstandardsproject.com.
Set your API key in the script under:
HEADERS = {"Api-Key": "YOUR_API_KEY"}python main.pyBy default, the script downloads standards for a predefined list of states (can be adjusted in the us_states list).
- 
Standards saved as:
Outputs/standards_json_<state>/<standard_id>.json - 
CSV summary for each state:
Outputs/<state>_standards.csv 
.
├── main.py
├── Outputs/
│   ├── standards_json_<state>/
│   └── <state>_standards.csv
├── requirements.txt
└── README.md{
  "id": "0A0AF1D1EFCC49348BCDEAFD7A3D91FD",
  "asnIdentifier": "S2661324",
  "description": "Productive (creation of oral presentations and written texts)",
  "SetTitle": "Grades 9, 10",
  "Subject": "English Language Development (2012-)",
  "GradeLevels": ["09", "10"],
  "sourceURL": "http://www.cde.ca.gov/sp/el/er/documents/eldstndspublication14.pdf",
  "valid": null
}- If re-running, the script checks for existing output folders.
 - To avoid duplicate downloads, you can uncomment the conditional skip logic for CSV existence.