Georgia Legislative REST API (Alpha)
Welcome to the Georgia Legislative REST API (galegis-api, for short). In its current form, galegis-api
is in "alpha" state. You should not rely on this service being available at all times or that the
information will accurately reflect the information represented on the GGA website at this time. There
are probably lots of bugs left to sort out, and if you find any we encourage you to file an issue in our bug tracker.
The purpose of this service is to represent information about the activities of the Georgia General Assembly
in a format that's braindead easy to build software against. The current solution offered by the GGA is the use of a
WSDL XML-powered service, which is cumbersome to use and doesn't behave exactly like modern software engineers
expect remote services to behave. So, we've created an alternative that does.
We eventually plan to provide an interface through which humans can easily browse our database, but for now
we're optimizing for other programs, since that was the primary intent from the start. All you need to do to
get started is to send a request to one of our endpoints.
The following endpoints currently have data in them. (More to come soon.)
- /api/v1/sessions - All information in our database is somehow associated to the Legislative Sessions of the General Assembly.
This API call lists off all the sessions we may have data on. Due to incomplete information from the GGA, we
may not have all kinds of data for every session.
- /api/v1/session/:id - Retrieve a particular session.
- /api/v1/members - Information on members of the General Assembly can be found here. By default, this API call will list information
on members for the most recent legislative session. If you would like information on members from a different session,
pass the ID of the session as a query parameter named "sessionId" (so... /api/v1/members?sessionId=....)
- /api/v1/member/:id - Information on a single member. Replace the ID in the example that we link to for information on a different member.
- /api/v1/member/:id/votes - IDs of votes the member has participated in, grouped by what their vote was.
- /api/v1/committees - List all committees for the currently active session. To retrieve committees for a different
session, add a "sessionId" query parameter with the sessionId you'd like to retrieve information
- /api/v1/committee/:id - List all information on a specific committee.
- /api/v1/legislation - List all legislation for the currently active session. (Or a different one if a "sessionId"
query parameter is provided.)
- /api/v1/legislation/:id - List all information on a specific piece of legislation.
- /api/v1/legislation/:type/:number - Retrieve an item of legislation by its number. So, for H.R. 1 in the current session
you'd access /api/v1/legislation/hr/1. To access H.R. 1 from a different session, you'd
pass the sessionId as a query parameter. Valid types are: hr, hb, sr, sb.
- /api/v1/votes - List all votes for the current session. (Or a different session if a sessionId is
provided using a query parameter.)
- /api/v1/vote/:id - List all information on a specific vote.