PhillySchools.Info - An API for School District of Philadelphia Budget Data

While the School District of Philadelphia (SDP) has released a few important datasets on school performance, attendance, and other metrics for its schools, the school district's budget for schools remains opaque. Budgets for all schools are available in PDF format, but this is of little use to developers and those interested in conducting analyses on the school district's spending. During the education TechCamp - hackathon sponsored by TechnicallyPhilly and the State Department - Chris Brown, Sean Goggins, Adam Hinz, and Bennett Huber worked to liberate this data.

The API this website serves is the first tangible result from that effort. We are making available the line-item budgets for all SDP schools for the last few years through a RESTful API. A description of the API and its endpoints is provided below. The hope is that developers and other interested parties can use this data in conjunction with other datasets from the schools to begin connecting the school expenditures to outcomes and ultimately help parents make decisions about their children's education. We will also be working on using this data to produce visualizations as well so stay tuned!

If you have questions or suggestions, leave a comment at the bottom of the page or feel free to contact us at the link provided in the page header

If you are interested in contributing to the project, check out the project on github

Description of the Data

API

Listing of Schools

The main API endpoint is phillyschools.info/api/schools. This provides a list of current schools. For each school information on the school's name, location, and ULCS code (the school district's unique identifier for schools).

/api/schools


[{
  "school_name2": "GIRARD ACADEMIC MUSIC PROGRAM",
  "school_name": "GIRARD ACADEMIC MUSIC PROGRAM",
  "geom": [
    "-75.18256",
    "39.92219"
    ],
    "link": "http://localhost:9449/api/budget/2410",
    "address": "2136 W. RITNER ST.",
    "ulcs": "2410"
},
...]

School Budgets

In addition to basic school data, school budgets are available as well. Each school may have up to 6 budgets (1 for each of the last 6 years). The base url /api/budget/{schoolid} gives a list of available budgets for a given school.

/api/budget/{schoolid}
/api/budget/2410
{
  "61": {
    "link": "http://phillyschools.info/api/budget/2410/61",
    "description": "FY09 School Budgets (February 2009)"
  },
  ...
}

To browse the specific budget for a school simply provide the snapshot ID as well (e.g.phillyschools.info/api/budget/{schoolid}/{snapshot}). For example, to return the

/api/budget/2410/101
{
  "school": {
    "ulcs": "2410",
    "link": "http://phillyschools.info/api/budget/2410"
    },
  "snapshot": "101",
  "items": [
  {
    "item": "Books & Instructional Aids",
    "amount": 48350,
    "link": "http://phillyschools.info/api/budgetitem/5",
    "id": 5
  },
  ...]
}

Other Data

/api/schools/totals/<snapshot>
Total spending, total spending per student for a school in a given year
/api/dates
List of snapshot IDs and their corresponding fiscal year
/api/budgetitem
List of budget items in database
/api/budgetitem/<itemid>
Expenditures for a given budget item across all schools

Comments

comments powered by Disqus