Authentication
All API requests require an API key passed in the X-API-Key header. Keys are tied to a tier that determines your rate limits and available endpoints.
API keys are available to Professional and Business platform subscribers. You can also purchase standalone API access through the Developer Portal.
Production: https://api.thinkkits.com — Interactive docs: https://api.thinkkits.com/docs (Swagger UI)
API Tiers & Rate Limits
Free
- 10 requests/day
- 100/month
- School search only
- No bulk export
Standard
- 500 requests/day
- 10,000/month
- All GET endpoints
- CSV export (1K rows)
Premium
- 5,000 requests/day
- 100,000/month
- All endpoints + AI
- Bulk export (10K rows)
Enterprise
- Unlimited requests
- Dedicated support
- Custom integrations
- SLA guarantee
Error Handling
The API returns standard HTTP status codes. Error responses include a detail field with a human-readable message.
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad request — invalid parameters |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — endpoint not available on your tier |
404 | Not found — school or resource doesn't exist |
422 | Validation error — missing required data on the school |
429 | Rate limit exceeded — wait and retry |
500 | Server error — contact support |
School Intelligence
Search for schools by name. Returns matches ranked by enrollment. Use for autocomplete and lookup.
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
q | string | Required | Search query (min 2 chars) |
limit | int | No | Max results (default: 10, max: 50) |
Example
Returns a complete school profile including demographics, funding scores, bright spot status, and lead tier.
Path Parameters
| Param | Type | Description |
|---|---|---|
nces_id | string | 12-digit NCES school ID |
Response Fields
| Field | Type | Description |
|---|---|---|
nces_id | string | NCES school identifier |
name | string | School name |
city, state | string | Location |
school_level | string | Elementary, Middle, High |
enrollment | int | Total student count |
frl_pct | float | Free/reduced lunch percentage |
math_proficiency | float | State math assessment proficiency % |
bright_spot_tier | string | BRIGHT_SPOT or null |
lead_tier | string | HOT, WARM, NURTURE, MONITOR |
funding_program_count | int | Number of eligible funding programs |
funding_score | float | Composite funding eligibility score (0-100) |
Returns schools with similar enrollment, FRL rate, and school level, ranked by math proficiency. Useful for benchmarking and identifying high-performing peers.
Query Parameters
| Param | Type | Default | Description |
|---|---|---|---|
frl_band | int | 10 | FRL percentage band width (1-30) |
limit | int | 15 | Max peer results (1-50) |
Response
Returns target (the school), peers (list of similar schools), best_peer_math, and gap_to_best.
Computes a composite health score from funding adequacy (40%), academic performance (30%), and equity indicators (30%). See our Methodology page for the full formula.
Response includes
| Field | Description |
|---|---|
health_score | Composite 0-100 score |
health_tier | THRIVING, STABLE, AT_RISK, CRITICAL |
funding_sub | Funding dimension score (0-100) |
academic_sub | Academic dimension score (0-100) |
equity_sub | Equity dimension score (0-100) |
risk_factors | Array of identified risk areas |
strengths | Array of identified strengths |
Comprehensive needs assessment combining demographics, funding, equity, staffing, and achievement data. Returns risk factors, strengths, recommended interventions, and matching funding programs.
Returns school-level equity indicators from CRDC data: suspension rates, AP course access, counselor availability, pupil-teacher ratio, and equity score — plus state averages for comparison.
Returns schools flagged as bright spots — outperforming expectations given their demographics and funding level.
Query Parameters
| Param | Type | Description |
|---|---|---|
state | string | Filter by 2-letter state code |
min_frl | float | Minimum FRL percentage (0-100) |
level | string | Elementary, Middle, High |
limit | int | Max results (default: 25, max: 100) |
Funding & Grants
Returns all federal funding programs a school is eligible for, with program name, annual pool size, strength of eligibility, and funding type.
Describe a purchase in plain English and get back matching funding categories, eligible programs, legal citations, and confidence scores.
Request Body
Response
Returns matches array with category, confidence (HIGH/MEDIUM/LOW), matched keywords, and funding_programs with program ID, name, strength, justification, and annual pool.
Returns all federal funding programs available for AI grant writing, with program ID, name, and CFDA number.
Valid program IDs: TITLE_I_A, TITLE_II_A, TITLE_III_A, TITLE_IV_A, IDEA_B, 21ST_CCLC, PERKINS_V
Generates a complete grant application narrative with 7 sections: Executive Summary, Statement of Need, Goals, Project Design, Evaluation Plan, Budget Justification, and Sustainability Plan. Returns a downloadable .docx file.
Request Body
Response: Binary .docx file download.
Generates a funding justification document with school demographics, eligible programs, standards alignment, per-pupil cost analysis, and compliance citations. Returns a downloadable .docx file.
Request Body
Data & Analytics
Ask questions in plain English and get structured results. The AI translates your question into a graph query, executes it, and returns data.
Query Parameters
| Param | Type | Description |
|---|---|---|
q | string | Natural language question (e.g., "Title I schools in Texas with declining enrollment") |
Export up to 25,000 school records as JSON or CSV. Filter by state, level, FRL range, enrollment, lead tier, bright spots, and alerts.
Query Parameters
| Param | Type | Description |
|---|---|---|
state | string | 2-letter state code |
level | string | Elementary, Middle, High |
min_frl, max_frl | float | FRL percentage range (0-100) |
min_enrollment | int | Minimum enrollment |
lead_tier | string | HOT, WARM, NURTURE, MONITOR |
bright_spot_only | bool | Only bright spot schools |
limit | int | Max rows (default: 5000, max: 25000) |
fmt | string | json or csv |
Returns F-33 finance data for a district: total expenditure, instructional/admin/capital splits, per-pupil spending, revenue sources (federal/state/local), and state averages for comparison.
Rank districts by per-pupil spending, instruction percentage, admin percentage, or total expenditure. Filter by state or run nationally.
Query Parameters
| Param | Type | Description |
|---|---|---|
state | string | Filter to a single state |
sort_by | string | perPupil, instructionPct, adminPct, totalExp |
limit | int | Max results (default: 25, max: 100) |
Identifies schools with the most significant equity gaps in a state, measured by equity score, suspension rate, AP course access, or pupil-teacher ratio.
Query Parameters
| Param | Type | Description |
|---|---|---|
state | string | Required — 2-letter code |
metric | string | equityScore, suspensionRate, apCourseCount, pupilTeacherRatio |
limit | int | Max results (default: 25) |
Vendor & Sales Intelligence
Given target funding programs, returns schools eligible for those programs, ranked by lead score. Perfect for vendor territory planning and prospect list building.
Request Body
Response includes contact info (principal, phone, address), lead scores, and funding program matches for each school.
Market intelligence summary showing lead tier distribution, total student counts, average FRL rates, and bright spot distribution. Filter by state or run nationally.
Query Parameters
| Param | Type | Description |
|---|---|---|
state | string | Optional 2-letter state code |
E-Rate vendor rankings by total commitment amount. Filter by state and funding year. Shows vendor name, commitment count, total amount, top states, and service types.
Query Parameters
| Param | Type | Description |
|---|---|---|
state | string | Filter by state |
funding_year | int | Filter by E-Rate funding year |
limit | int | Max results (default: 25) |
Full E-Rate commitment history for a vendor: recipient schools, amounts, service types, discount rates, and years active. Includes summary statistics.
Returns DOE-designated teacher shortage areas. Without a state filter, returns all states with their shortage subjects. With a state filter, returns subjects and count of schools with math teacher shortages.
Geography
Returns state-level aggregates: total schools, districts, enrollment, average FRL, math proficiency, school level distribution, funding programs, top 5 bright spots, largest schools, and top districts.
Search districts by name. Returns NCES ID, name, state, total schools, and enrollment.
Query Parameters
| Param | Type | Description |
|---|---|---|
q | string | Required — search query (min 2 chars) |
limit | int | Max results (default: 10) |
Generates a comprehensive district intelligence report as a downloadable .docx. Includes all schools, aggregate stats, funding analysis, and AI-generated insights.
Request Body
AI Tools
Full conversational AI agent with access to all platform tools. Supports multi-turn conversation with history. The agent can search schools, analyze funding, generate reports, and answer complex questions.
Request Body
Returns response (text) and tool_calls (count of tools the agent used).
Upload an invoice, quote, email, or product document (image or text). AI extracts the purchase description, vendor, amount, quantity, and unit price. Use as input for /purchase/qualify.
Request
Multipart form upload with a file field. Supports images (JPEG, PNG) and text documents.
Account & Marketplace
Returns all available API tiers with daily/monthly limits, pricing, and descriptions. No authentication required.
Returns your usage statistics including daily and monthly request counts, remaining quota, and historical usage over the specified time period.
Query Parameters
| Param | Type | Description |
|---|---|---|
days | int | Lookback period (default: 30, max: 365) |
Returns curriculum standards data for a state and subject, including total standards, framework names, grade distribution, and ThinkKits product alignment percentage.
Query Parameters
| Param | Type | Description |
|---|---|---|
state | string | Required — 2-letter state code |
subject | string | Subject name (default: Mathematics) |