SchoolScout API
Districts

Search districts

Search and filter school districts. Returns NCES data for all results plus intelligence data for unlocked entities. **Free (0 credits).**

GET
/districts

Search and filter school districts. Returns NCES data for all results plus intelligence data for unlocked entities. Free (0 credits).

AuthorizationBearer <token>

API key (sk_live_... prefix). Generate keys in the UI under Settings > API Keys, then send it as Authorization: Bearer sk_live_...

In: header

Query Parameters

state?string

State abbreviation (e.g., CO, TX)

search?string

Text search on district name

status?string

Scouting status: pending, in_progress, completed, error

ids?string

Comma-separated district UUIDs

list_id?string

Filter by list membership

student_count_min?integer

Minimum student enrollment

student_count_max?integer

Maximum student enrollment

school_count_min?integer

Minimum number of schools

school_count_max?integer

Maximum number of schools

revenue_per_student_min?integer

Min revenue per student ($)

revenue_per_student_max?integer

Max revenue per student ($)

expenditures_per_student_min?integer

Min expenditures per student ($)

expenditures_per_student_max?integer

Max expenditures per student ($)

student_teacher_ratio_min?number

Minimum student-teacher ratio

student_teacher_ratio_max?number

Maximum student-teacher ratio

total_staff_min?integer

Minimum total staff count

total_staff_max?integer

Maximum total staff count

tech_level?string

Technology level classification

locale_type?string

City, Suburb, Town, or Rural

district_type?string

NCES district type classification

county?string

County name (partial match)

grade_levels?string

Comma-separated: pre_k, elementary, middle, high

vendor_ids?string

Comma-separated vendor UUIDs

vendor_category?string

sis, lms, assessment, communication, hr, finance, security, sso, devices, other

pain_point_category?string

staffing, budget, infrastructure, security, integration, compliance, enrollment, other

has_pain_points?string

true to filter districts with pain points

funding_source?string

esser, erate, title_i, bond, grant, state, other

has_funding?string

true to filter districts with funding

has_expiring_contracts?string

true to filter districts with contracts expiring in 6 months

rfp_status?string

open, closed, won, lost, no_bid

unlocked_only?string

true to show only entities your org has unlocked

order_by?string

Sort field

Default"name"
order_ascending?string

Sort direction

Default"true"
limit?integer

Results per page

Default50
Rangevalue <= 200
offset?integer

Pagination offset

Default0

Response Body

application/json

application/json

application/json

curl -X GET "https://loading/api/v1/districts"
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "nces_id": "string",
      "name": "string",
      "state": "string",
      "website_url": "string",
      "student_count": -9007199254740991,
      "school_count": -9007199254740991,
      "grade_span": "string",
      "locale_type": "string",
      "total_revenue": 0,
      "revenue_per_student": 0,
      "total_expenditures": 0,
      "expenditures_per_student": 0,
      "instructional_expenditures": 0,
      "instructional_expenditures_percent": 0,
      "support_services_expenditures": 0,
      "student_teacher_ratio": 0,
      "total_staff": 0,
      "ai_policy_summary": "string",
      "technology_level": "string",
      "ai_initiatives": [
        null
      ],
      "edtech_products": [
        null
      ],
      "meeting_minutes_pdfs": [
        null
      ],
      "physical_address": "string",
      "physical_city": "string",
      "physical_state": "string",
      "physical_zip": "string",
      "mailing_address": "string",
      "mailing_city": "string",
      "mailing_state": "string",
      "mailing_zip": "string",
      "phone": "string",
      "county": "string",
      "state_district_id": "string",
      "district_type": "string",
      "teachers_fte": 0,
      "nces_data_year": "string",
      "latitude": 0,
      "longitude": 0,
      "buying_signals": [
        null
      ],
      "vendor_stack": {
        "property1": null,
        "property2": null
      },
      "strategic_priorities": [
        null
      ],
      "executive_summary": "string",
      "ai_summary": "string",
      "timeline": [
        null
      ],
      "summary_generated_at": "string",
      "status": "pending",
      "website_mapped_at": "string",
      "content_fetched_at": "string",
      "content_extracted_at": "string",
      "last_analysis_job_id": "550e8400-e29b-41d4-a716-446655440000",
      "data_source": "string",
      "crawled_at": "string",
      "error_message": "string",
      "retry_count": -9007199254740991,
      "notes": "string",
      "last_updated_at": "string",
      "created_at": "string",
      "_access": {
        "is_unlocked": true,
        "is_scouting": true,
        "unlocked_at": "string",
        "credits_spent": 0,
        "unlock_cost": 0
      }
    }
  ],
  "pagination": {
    "total": -9007199254740991,
    "limit": -9007199254740991,
    "offset": -9007199254740991,
    "has_more": true
  }
}
{
  "error": "string",
  "message": "string",
  "statusCode": -9007199254740991
}
{
  "error": "string",
  "message": "string",
  "statusCode": -9007199254740991
}