Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

A Python client for the Center for Responsive Politics API at OpenSecrets.org.

Project description

A Python client for the Center for Responsive Politics API <https://www.opensecrets.org/resources/create/apis.php> at OpenSecrets.org.

Access campaign contribution and personal financial data for US congressional members.

You will need a Center for Responsive Politics API key <https://www.opensecrets.org/api/admin/index.php?function=signup>.

Install

From PyPI:

pip install opensecrets-crpapi

Or, download and use the install script:

git clone https://github.com/robrem/opensecrets-crpapi && cd opensecrets-crpapi
python setup.py install

Usage

All API functions are abstracted to corresponding client methods, and accept the respective parameters. Results are returned in JSON format, and pre-parsed to trim the fat. For example:

>>> from crpapi import CRP
>>> crp = CRP(API_KEY)

# get a specific legislator by CID
>>> cand = crp.candidates.get('N00007360')
>>> cand['lastname']
'PELOSI'

# get the top contributors to a candidate for a specific cycle
>>> contribs = crp.candidates.contrib('N00007360', '2016')
>>> contribs[0]['@attributes']['org_name']
'ActBlue'

# get fundraising information for a committee's members, by industry
>>> cmte = crp.committees.cmte_by_ind('HARM', 'F10')
>>> cmte[0]['@attributes']['member_name']
'Heck, Joe'

# use fetch to access the endpoints more directly, without pre-parsed results
>>> summ = crp.fetch('candSummary', cid='N00007360')
>>> summ['summary']['@attributes']['first_elected']
'1987'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
opensecrets_crpapi-0.2.2-py2.py3-none-any.whl (5.5 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Dec 18, 2017
opensecrets-crpapi-0.2.2.tar.gz (4.6 kB) Copy SHA256 hash SHA256 Source None Dec 18, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page