Founded by the Center for Investigative Reporting

The Rainmakers: California's top political donors, 2001-2011

Lavishing their largesse on legislators and political committees alike, the largest donors to California politics spent $1.25 billion from 2001 through 2011. The group — 50 special interests and 50 wealthy individuals — spans the Golden State's social order. They are corporate leaders and venture capitalists, real estate developers and Hollywood scions. They are energy and tobacco companies, labor unions and tribal governments. Collectively, they shelled out a third of all the money given to campaigns in the state during the 11-year period. This data includes only contributions to candidates and ballot measure committees, not independent expenditure groups.

Rainmaker API

You can use the Rainmaker API to build widgets or even your own apps with our California data.

The API includes donor bios for the top 50 individuals and top 50 groups, contributions from each of those donors to California state elections or propositions, and the recipients of each badge we've assigned.

We used data provided by the National Institute on Money in State Politics for our analysis and the interactive. The nonprofit organization collects state-level campaign finance data, verifies contributions, normalizes the data and provides some additional value, such as whether a candidate won or lost in the election. We downloaded the data in bulk from Influencer Explorer, a project from the Sunlight Foundation with a wealth of data on companies and people active in politics at the state and federal level.

Read more here about how we identified the state's top political donors, assigned badges and more.

The Rainmaker API service uses a RESTful style. The API is currently set up to respond with JSON or JSONP. To generate a standard JSON response, append ?format=json to any API URI. To generate a JSONP response, append ?format=jsonp to any API URI.

Donors

List of donors

To return a list of the top donors on our California list, use the following URI structure:

http://rainmaker.apps.cironline.org/api/v1/donor/?format=json

A single donor

To return information about a single donor, use the following URI structure:

http://rainmaker.apps.cironline.org/api/v1/donor/[donor id]/?format=json

For example:

http://rainmaker.apps.cironline.org/api/v1/donor/1/?format=json

Filtering donors by type

To return a list of only top individual donors:

http://rainmaker.apps.cironline.org/api/v1/donor/?type=I&format=json

To return a list of only top group donors:

http://rainmaker.apps.cironline.org/api/v1/donor/?type=C&format=json

Donor response properties

Property name Return type Description
badges Array An array of Badge objects assigned to this donor. Returns same information as main Badge response.
ballot_contributions_count Number The count of the number of contributions given to propositions.
bio String A brief biography of the donor, produced by California Watch.
candidate_contributions_count Number The number of contributions given to candidates (not parties, not propositions).
contribs_sum Number The total amount of money given to all types of recipients.
date_updated Datetime: YYYY-MM-DDTHH:MM:SS.MS When any property of this donor record was last updated.
full_url URI The full address of this donor on the California Rainmakers website.
id String The database identifier of this donor. This is the value to use to return information about this donor in the API.
image URI or null Path to image of this donor, if present. Otherwise returns null.
image_credit String Specific photo credit, if present.
image_credit_url URI or empty string Required photo credit link, if present.
image_source String Base photo credit. Required for display if using donor images.
line_of_work String Brief description of donor's line of work, produced by California Watch.
location_city String City where donor resides or is headquartered.
location_state String Two-letter official state abbreviation of state where donor resides or is headquartered.
losses_money Number The total amount of money, in dollars, given to unsuccessful recipients (candidates or propositions).
name String Full name of donor.
party_contributions_count Number The number of contributions given to parties (not candidates, not propositions).
rank Number This donor's rank among individuals or groups. There are two donors with each rank: one individual and one group.
resource_uri URI The API address for this donor. The URI for this donor on the California Rainmakers site can be found in the full_url property.
slug String A slugified version of the full donor name. Limited to 45 characters.
total_contributions_count Number The total number of contributions given to all types of recipients.
type String Individual or Group.
win_percentage String The percentage of all money in dollars this donor gave that went to successful recipients.
wins_money Number The total amount of money, in dollars, given to successful recipients (candidates or propositions).

Donor Contributions

List of contributions from a donor

Please note that several group donors gave several thousand times, so these requests can return quite a large amount of data and require significant bandwidth. To return a list of contributions from the a top donor on our California list, use the following URI structure:

http://rainmaker.apps.cironline.org/api/v1/donor-contributions/[donor id]/?format=json

For example:

http://rainmaker.apps.cironline.org/api/v1/donor-contributions/53/?format=json

Donor Contribution response properties

Property name Return type Description
contribs_count Number The number of contributions from this donor.
contribs_sum Number The total amount of money, in dollars, from this donor.
contributions Array An array of individual contribution objects (see below).

Contributions Array response properties

Property name Return type Description
amount Number Amount, in dollars, of contribution. If negative, indicates a rebate given to donor because a previous contribution was earmarked for a general election that the recipient didn't reach (i.e. lost in primary).
bool_ballot Boolean Returns true if contribution is to a proposition.
bool_candidate Boolean Returns true if contribution is to a candidate.
bool_loss Boolean Returns true if contribution is to an unsuccessful candidate or proposition. Will also return true if contribution is to a party, which should be ignored. This means you should test whether a contribution is to a party before using bool_loss and bool_win. Also, please note that a contribution may be to a committee that supports or opposed multiple propositions, meaning that the same contribution may be a win and a loss. Use the explainers array to see more detail on mixed results.
bool_interesting Boolean Returns true if contribution is flagged as interesting, based on an algorithm designed to flag contributions that are out of the ordinary. The algorithm takes into account the size of the contribution relative to historical giving patterns, the partisan donation history of the donor, and the giving history of the donor relative to each recipient.
bool_party Boolean Returns true if contribution is to a candidate. If true, you should ignore the bool_win and bool_loss properties for this contribution, as they will also return true.
bool_win Boolean Returns true if contribution is to an successful candidate or proposition. Will also return true if contribution is to a party, which should be ignored. This means you should test whether a contribution is to a party before using bool_loss and bool_win. Also, please note that a contribution may be to a committee that supports or opposed multiple propositions, meaning that the same contribution may be a win and a loss. Use the explainers array to see more detail on mixed results.
date String: YYYY-MM-DD Date of contribution (or rebate in case of negative amount).
explainers Array An array of objects with information about the conrtribution. Will return array containing one object for donations to candidates, an array of no objects for donations to parties, and an array of one or more objects for donations to propositions. Properties of each explainer object:
  • outcome_text: A string showing the result of the election or proposition. Note that winner and outcome_text are not interchangeable.
  • text: A string of text explaining which office the contribution pertained to, or which proposition.
  • winner: Boolean that returns true if the donor got what he wanted, i.e. if a candidate was elected; or if a proposition he supported was approved or a proposition he opposed was defeated. Note that winner and outcome_text are not interchangeable.
id String The database identifier of this contribution.
recipient String The name of the recipient of this contribution.

Badges

List of badges

To return a list of the badges, use the following URI structure:

http://rainmaker.apps.cironline.org/api/v1/badge/?format=json

A single badge

To return information about a single badge, use the following URI structure:

http://rainmaker.apps.cironline.org/api/v1/badge/[badge id]/?format=json

For example:

http://rainmaker.apps.cironline.org/api/v1/badge/1/?format=json

Badge response properties

Property name Return type Description
full_url URI The address for this badge on the California Rainmakers website.
id String The database identifier for this badge.
image URI The path to the badge's PNG image, which is 100x100 pixels.
long_description String A longer description of what qualifies donors for this badge.
name String The name of the badge
resource_uri URI The API address for this badge. The URI for this badge on the California Rainmakers site can be found in the full_url property.
short_description String A shorter description of what qualifies donors for this badge.
slug String A slugified version of the badge name.

Source: Contribution data from National Institute on Money in State Politics

Credits: Interactive by Michael Corey, Coulter Jones and Chase Davis. Reporting by Coulter Jones. Badge design by Thomas Guffey. Additional reporting by Stanford University students enrolled in a Communications Department investigative reporting class under the direction of California Watch Editorial Director Mark Katches. The project began in January 2011. Students participating were: Devin Banerjee, Daniel Bohm, Kathleen Chaykowski, Tom Corrigan, Cassandra Feliciano, Jamie Hansen, Amy Harris, Josh Hicks, Ellen Huet, Julia James, Paul Jones, Ryan Mac, Valentina Nesci, Dean Schaffer, Elizabeth Titus and Kareem Yasin. Bohm, Hansen, Huet, Harris and Titus continued to work on the project as California Watch interns under the direction of Associate Editor Denise Zapata.

Topics

Our Content

Who We Are

Partner With Us