Data Model
Understanding the SchoolScout entity model
Entity Hierarchy
SchoolScout's data model is centered on three entity types:
District
├── School
└── Contact (staff / administrators)Districts
The core entity. A school district contains:
- Demographics: student count, school count, grade span, locale type
- Financials: revenue, expenditures, per-student spending (from NCES data)
- Staff metrics: student-teacher ratio, total staff, FTE teachers
- Location context: addresses, county, coordinates
- Intelligence (gated): AI summary, buying signals, vendor stack, strategic priorities, timeline events
Schools
Individual schools within a district. Include:
- Demographics: student count, grade levels, school type
- NCES data: standardized identifiers, locale, staff metrics
- Location context: addresses, coordinates
- Intelligence (gated): AI summary, vendor stack, timeline
Contacts
Staff and administrators at districts or schools:
- Contact profile: name, title, role context
- PII (gated): email, phone, LinkedIn URL
- Enrichment: profile summary and qualification score
- Email generation: AI-generated outreach emails
Intelligence Data
Intelligence data is collected through SchoolScout's analysis pipeline and includes:
Buying Signals
- Contracts: active vendor contracts, renewal dates, dissatisfaction indicators
- Pain Points: challenges identified from public sources (staffing, budget, infrastructure, etc.)
- Funding: available funding sources (ESSER, E-Rate, Title I, bonds, grants)
Vendor Stack
Known technology vendors used by a district or school, categorized by type (SIS, LMS, assessment, communication, etc.).
RFPs
Active procurement opportunities with deadlines, estimated values, and priority levels.
Timeline Events
Chronological events from board meetings, press releases, and other public sources.
Processing Pipeline
Entities go through a multi-stage processing pipeline:
| Status | Meaning |
|---|---|
pending | Discovered but not yet analyzed |
in_progress | Currently being analyzed |
completed | Analysis complete, intelligence data available |
error | Analysis failed (can be retried) |
Important: Pipeline status is different from "scouted" status. An entity can be completed (intelligence exists) but not scouted (your org hasn't paid credits to see it).
Access Control
Non-internal organizations see an _access field on entities:
{
"_access": {
"is_unlocked": false,
"unlock_cost": 6
}
}When is_unlocked is false, intelligence fields (AI summaries, buying signals, vendor stacks) are redacted from the response.
Parent-First Gating (Contacts)
Contacts follow a two-layer unlock model:
- Parent unlock required first — A contact's parent district or school must be unlocked (6 credits) before the contact is visible in search results or accessible by ID. Contacts at locked parents are summarized in a
_locked_parent_contactsfield on search responses, showing how many additional contacts would become available. - Contact unlock for PII — Once the parent is unlocked, the contact appears in results with name and title visible, but PII fields (email, phone, LinkedIn URL) are redacted until the contact itself is unlocked (2 credits).
District (locked) → contacts hidden entirely
District (unlocked) → contacts visible (name, title)
└── Contact (locked) → PII redacted
└── Contact (unlocked) → full PII availableIf you attempt to access a contact whose parent is still locked, the API returns 403 with error code PARENT_ENTITY_LOCKED.