The Code for America API

What it is

Code for America has developed this API to track all the activity across the civic technology movement. Our goal is to measure and motivate the movement by recognizing participation. The CFAPI describes an organization's projects, stories, and events.

The tools that the Brigades and other groups use to do their fine deeds are all different. The CFAPI does the difficult job of being able to track these activities no matter what tools an organization is using. The participants don't need to change their activities to be included.

How it Works

To get the information for the CfAPI, Code for America maintains a list of civic tech organizations and once an hour checks their activity on Meetup.com, their blog, and their GitHub projects. Other services and support for noncode projects are slowly being added.

How to add your group

Brigade Information

The new site will be powered by this Brigade Information Google Spreadsheet. This way you don't need yet another account for our Brigade site. Just keep your Brigade's info up to date and you're good. Email [email protected] if you want permission to add and edit groups.

The columns are:

  • name
  • website
  • events_url - Point us to where ever you schedule your events. Only Meetup.com events are working right now.
  • rss - If you have a blog, point us to it. It's pretty smart and can find the feed on its own. To show off your Google Group discussions, use a link like https://groups.google.com/forum/feed/code-for-san-francisco/msgs/rss.xml?num=15
  • projects_list_url - Can either be a GitHub organization url like https://github.com/sfbrigade or a link to a list of project URLs, described below.

The Projects List

The projects list URL is usually a GitHub organization URL, like http://github.com/codeforamerica.

If you have noncode projects or projects across multiple GitHub accounts, then you can point us to either a CSV or json file with links to those projects.

This projects list you point us to will need the following columns:

  • name - filled in by GitHub if left blank
  • description - filled in by GitHub if left blank
  • link_url - filled in by GitHub if left blank
  • code_url - Only GitHub links work for now. Others will be added as needed later.
  • type - Is this project an app, an open data policy, a webservice?
  • categories - Write your own separated by commas. "Education, digital literacy"

An example:

name, description, link_url, code_url, type, categories
South Bend Voices, "A redeploy of CityVoice for South Bend, IN.", http://www.southbendvoices.com/, https://github.com/codeforamerica/cityvoice, web service, "community engagement, housing"

That projects list URL can be any flavor of csv. The easiest way is to make a Google Spreadsheet like my example and then select File > Publish it to the web.

If you are using the new Google Spreadsheets, add /export?format=csv to the end. https://docs.google.com/spreadsheets/d/<key>/export?format=csv

If you have the older Google Drive version change ?output=html to ?output=csv. https://docs.google.com/spreadsheet/pub?key=<key>?output=csv

Put that in the Brigade Information sheet and you're done.