Standards are hard and we're here to help. There are 50 states (and even more organizations) who produce standards. If you're like us, your customers will start asking to add their own standards. Creating an infrastructure to screen scrape 50 state websites and then updating them is overwhelming. Some companies charge and arm and a leg for standards in formats that don't conform to conventional JSON or are organized in bizarre, teacher unfriendly ways. Further, you need to update the standards as the states update them. And, of course, let's not forget search. What's a developer to do?
Use the Common Standards Project, of course! Here, you can learn more about use our API and how to integrate instant standards search into your website. Reach out to me at scott (at) commoncurriculum dot com if you need more help!
If edtech companies are going to reach their potential to change teaching practices and dramatically improve student outcomes, their products need to interop. Standards are a common denominator across vast swaths of the edtech landscape, yet their exists no
This project aims to solve these barriers to edtech interoperability. Each standard follows a consistent convention, has a unique GUID, and is accessible through this API or through a database dump. New standards can be added through the web interface.
This project wouldn't be possible without the work of the Achivement Standards Network (ASN) and it's parent company, Desire2Learn. They convert standards and release them on their website under a Creative Commons attribution license. This project builds on their work by adding GUIDs to each standards, converting the standards into a simple JSON structure, and grouping the standards into sets that teachers are familiar with and the standard writers published them in. For instance, ASN releases standards tagged with grade levels (e.g. 1st - 12th grade). We group those standards into groups such as "Grade 1 Math", "High School -- Algebra", "High School - Functions"
The Common Standards Project is produced by Common Curriculum, a collaborative lesson planner transforming how schools develop and align instruction for their students. This API is in production at Common Curriculum.
Click "Register or Sign In" on the left to get your API key. Currently, there is not a limit placed on API requests. If limits are added in the future, they'll only be enacted to better share costs among the users of the API.
api-key
query parameter or an Api-Key
header. Your api key can be found in the sidebar.Try out a live version at http://api.commonstandardsproject.com
Find a list of all the jurisdictions and organizations in the database
http://commonstandardsproject.com/api/v1/jurisdictions/
{
"data": [
{
"id": "B838B98D043045748F3814B9E43CAC85",
"title": "Alabama",
},
{
"id": "0DCD3CBE12314408BDBDB97FAF45EEE8",
"title": "Alaska",
},
{
"id": "9D65E45961BC46218A6FA75732D733EB",
"title": "American Association for the Advancement of Science",
},
{
"id": "6B4D002505FC4175967211744D11C325",
"title": "American Association of School Librarians",
},
{
"id": "63CD52A014074BBCACC64A8954A97539",
"title": "American Psychological Association",
}
]
}
Select a particular jurisdiction
http://commonstandardsproject.com/api/v1/jurisdictions/:id
{
{
"data": {
"id": "49FCDFBD2CF04033A9C347BFA0584DF0",
"title": "Maryland",
"type": "state",
"standardSets": [
{
"id": "49FCDFBD2CF04033A9C347BFA0584DF0_D1000265_grades-09-10-11-12",
"title": "Grades 9, 10, 11, 12",
"subject": "Science Core Learning Goals (2002)",
"educationLevels": [
"09",
"10",
"11",
"12"
],
"document": {
"id": "D1000265",
"valid": "2002",
"title": "Maryland Science Core Learning Goals",
"sourceURL": "http://mdk12.org/instruction/curriculum/science/clg_toolkit.html",
"asnIdentifier": "D1000265",
"publicationStatus": "Published"
}
},
{
"id": "49FCDFBD2CF04033A9C347BFA0584DF0_D10002D0_grade-01",
"title": "Grade 1",
"subject": "Social Studies",
"educationLevels": [
"01"
],
"document": {
"id": "D10002D0",
"valid": "2006",
"title": "Voluntary State Curriculum - Social Studies",
"sourceURL": null,
"asnIdentifier": "D10002D0",
"publicationStatus": "Published"
}
}
]
}
}
Select a group of standards
http://commonstandardsproject.com/api/v1/standard_sets/:id
{
"data": {
"id": "49FCDFBD2CF04033A9C347BFA0584DF0_D2604890_grade-01",
"title": "Grade 1",
"subject": "Mathematics",
"educationLevels": [
"01"
],
"license": {
"title": "CC BY 3.0 US",
"URL": "http://creativecommons.org/licenses/by/3.0/us/",
"rightsHolder": "Desire2Learn Incorporated"
},
"rightsHolder": null,
"document": {
"id": "D2604890",
"valid": "2011",
"title": "Maryland College and Career-Ready Standards - Mathematics (PK-8)",
"sourceURL": "http://mdk12.org/instruction/curriculum/mathematics/index.html",
"asnIdentifier": "D2604890",
"publicationStatus": "Published"
},
"jurisdiction": {
"id": "49FCDFBD2CF04033A9C347BFA0584DF0",
"title": "Maryland"
},
"standards": {
"10C032C40D33415EA1AD242D40481A4F": {
"id": "10C032C40D33415EA1AD242D40481A4F",
"asnIdentifier": "S2604891",
"position": 1000,
"depth": 0,
"description": "Standards for Mathematical Practice"
},
"97253D2D6F384ADF8001A3512A4107AE": {
"id": "97253D2D6F384ADF8001A3512A4107AE",
"asnIdentifier": "S2604892",
"position": 2000,
"depth": 1,
"statementLabel": "Standard",
"listId": "1.",
"description": "Make sense of problems and persevere in solving them."
},
"486874A7CEC04817BCD93180E5C47CB7": {
"id": "486874A7CEC04817BCD93180E5C47CB7",
"asnIdentifier": "S2604893",
"position": 3000,
"depth": 1,
"statementLabel": "Standard",
"listId": "2.",
"description": "Reason abstractly and quantitatively."
},
"32790706FBF043B4AE53539534337DB9": {
"id": "32790706FBF043B4AE53539534337DB9",
"asnIdentifier": "S2604894",
"position": 4000,
"depth": 1,
"statementLabel": "Standard",
"listId": "3.",
"description": "Construct viable arguments and critique the reasoning of others."
}
]
}
}
We use Algolia for our search service. While the API is free to use, the standards search has a limit of 100 requests per IP per hour due to the costs of hosting search. If you need to go above that, send us an email to become a sponsor of the Common Curriculum Project and we'll raise it for you.
To get started with Algolia, go to Algolia's js library. (They have clients for other languages, too). Your Algolia API Key and application id is in the left sidebar.
// jQuery example (they have )
<script src="//cdn.jsdelivr.net/algoliasearch/3/algoliasearch.jquery.min.js"></script>
<script<
var client = algoliaClient('O7L4OQENOZ', '');
var index = client.initIndex('common-standards-project');
index.search('something', function searchDone(err, content) {
console.log(err, content)
});
</script>
A few things to note:
standardSet.title
, subject
, normalizedSubject
, and jurisdiction.title
position
{
"id": "0AD25973CF4E4DC892561BEEF05C6BB4",
"asnIdentifier": "S2604988",
"position": 33000,
"depth": 2,
"statementNotation": "1.NBT.4",
"statementLabel": "Standard",
"description": "Add within 100, including adding a two-digit number and a one-digit number, and adding a two-digit number and a multiple of 10, using concrete models or drawings and strategies based on place value, properties of operations, and/or the relationship between addition and subtraction; relate the strategy to a written method and explain the reasoning used. Understand that in adding two-digit numbers, one adds tens and tens, ones and ones, and sometimes it is necessary to compose a ten.",
"ancestorDescriptions": [
"Use place value understanding and properties of operations to add and subtract.",
"Number and Operations (Base Ten)"
],
"educationLevels": [
"01"
],
"subject": "Mathematics",
"normalizedSubject": "Math",
"standardSet": {
"title": "Grade 1",
"id": "49FCDFBD2CF04033A9C347BFA0584DF0_D2604890_grade-01"
},
"jurisdiction": {
"id": "49FCDFBD2CF04033A9C347BFA0584DF0",
"title": "Maryland"
},
"_tags": [
"E5B209C180E24242B7D337302A19D69B",
"3993CD0C80874BE0B5CE62758D97F64A",
"49FCDFBD2CF04033A9C347BFA0584DF0_D2604890_grade-01",
"49FCDFBD2CF04033A9C347BFA0584DF0",
"01"
],
"objectID": "0AD25973CF4E4DC892561BEEF05C6BB4"
}