independent expenditures

GET /v1/schedules/schedule_e/

Schedule E covers the line item expenditures for independent expenditures. For example, if a super PAC bought ads on TV to oppose a federal candidate, each ad purchase would be recorded here with the expenditure amount, name and id of the candidate, and whether the ad supported or opposed the candidate.

An independent expenditure is an expenditure for a communication "expressly advocating the election or defeat of a clearly identified candidate that is not made in cooperation, consultation, or concert with, or at the request or suggestion of, a candidate, a candidate’s authorized committee, or their agents, or a political party or its agents."

Aggregates by candidate do not include 24 and 48 hour reports. This ensures we don't double count expenditures and the totals are more accurate. You can still find the information from 24 and 48 hour reports in /schedule/schedule_e/.

Due to the large quantity of Schedule E filings, this endpoint is not paginated by page number. Instead, you can request the next page of results by adding the values in the last_indexes object from pagination to the URL of your last request. For example, when sorting by expenditure_amount, you might receive a page of results with the following pagination information:

 "pagination": {
    "count": 152623,
    "is_count_exact": True,
    "last_indexes": {
      "last_index": "3023037",
      "last_expenditure_amount": -17348.5
    },
    "per_page": 20,
    "pages": 7632
  }
}

To fetch the next page of sorted results, append last_index=3023037 and last_expenditure_amount= to the URL. We strongly advise paging through these results by using the sort indices (defaults to sort by disbursement date, e.g. last_disbursement_date), otherwise some resources may be unintentionally filtered out. This resource uses keyset pagination to improve query performance and these indices are required to properly page through this large dataset.

Note: because the Schedule E data includes many records, counts for large result sets are approximate; you will want to page through the records until no records are returned.

Request

  • Base URL
    https://api.open.fec.gov (the document declares no server; this is the origin it was published from)
  • Auth
    API key in header X-Api-Key and API key in query parameter api_key and API key in query parameter api_key
  • TypeScript
    A function with typed inputs. Its response is checked against the schema.

Query parameters

image_numberstring[]

An unique identifier for each page where the electronic or paper filing is reported.

min_image_numberstring

Minium image number of the page where the schedule item is reported

max_image_numberstring

Maxium image number of the page where the schedule item is reported

min_amountnumber

Filter for all amounts greater than a value.

max_amountnumber

Filter for all amounts less than a value.

min_datestring

The earliest date used to filter reported activity. Only records with an applicable reporting date after this date are returned.

max_datestring

The latest date used to filter reported activity. Only records with an applicable reporting date before this date are returned.

candidate_officestring[]

Federal office candidate runs for: H, S or P

candidate_partystring[]

Three-letter code for the party affiliated with a candidate or committee. For example, DEM for Democratic Party and REP for Republican Party.

candidate_office_statestring[]

A valid two-letter U.S. state or territory code. Use ZZ for foreign countries, or other for foreign countries and any invalid or missing values.

candidate_office_districtstring[]

Two-digit US House distirict of the office the candidate is running for. Presidential, Senate and House at-large candidates will have District 00.

cycleinteger[]

Filter records to only those that were applicable to a given two-year period.The cycle begins with an odd year and is named for its ending, even year.

committee_idstring[]

A unique identifier assigned to each committee or filer registered with the FEC. In general a committee id begins with the letter C which is followed by eight digits.

candidate_idstring[]

A unique identifier assigned to each candidate registered with the FEC. If a person runs for several offices, that person will have separate candidate IDs for each office. First character indicates office - [P]residential, [H]ouse, [S]enate]. Second character is the last digit of the two-year period the ID was created. Third and fourth is the candidate state. Presidential IDs don't have state. Fifth and sixth is the district when the candidate first ran. This does not change if the candidate/member's district changes during re-districting. Presidential IDs don't have districts. The rest is sequence.

filing_formstring[]

The form where the underlying data comes from, for example, Form 1 would appear as F1: - F1 Statement of Organization - F1M Notification of Multicandidate Status - F2 Statement of Candidacy - F24 24/48 Hour Report of Independent Expenditures - F3 Report of Receipts and Disbursements for an Authorized Committee - F3P Report of Receipts and Disbursements by an Authorized Committee of a Candidate for The Office of President or Vice President - F3L Report of Contributions Bundled by Lobbyists/Registrants and Lobbyist/Registrant PACs - F3X Report of Receipts and Disbursements for other than an Authorized Committee - F4 Report of Receipts and Disbursements for a Committee or Organization Supporting a Nomination Convention - F5 Report of Independent Expenditures Made and Contributions Received - F6 48 Hour Notice of Contributions/Loans Received - F7 Report of Communication Costs by Corporations and Membership Organizations - F8 Debt Settlement Plan - F9 24 Hour Notice of Disbursements for Electioneering Communications - F13 Report of Donations Accepted for Inaugural Committee - F99 Miscellaneous Text - FRQ Request for Additional Information

last_expenditure_datestring

When sorting by expenditure_date, this is populated with the expenditure_date of the last result. However, you will need to pass the index of that last result to last_index to get the next page.

last_expenditure_amountnumber

When sorting by expenditure_amount, this is populated with the expenditure_amount of the last result. However, you will need to pass the index of that last result to last_index to get the next page.

last_office_total_ytdnumber

When sorting by office_total_ytd, this is populated with the office_total_ytd of the last result. However, you will need to pass the index of that last result to last_index to get the next page.'

payee_namestring[]

Name of the entity that received the payment.

support_oppose_indicatorstring[]

Explains if the money was spent in order to support or oppose a candidate or candidates. (Coded S or O for support or oppose.) This indicator applies to independent expenditures and communication costs.

last_support_oppose_indicatorstring

When sorting by support_oppose_indicator, this is populated with the support_oppose_indicator of the last result. However, you will need to pass the index of that last result to last_index to get the next page.'

is_noticeboolean[]

Record filed as 24- or 48-hour notice.

min_dissemination_datestring

Selects all items distributed by this committee after this date

max_dissemination_datestring

Selects all items distributed by this committee before this date

min_filing_datestring

Selects all filings received after this date

max_filing_datestring

Selects all filings received before this date

most_recentboolean

The report associated with the transaction is either new or is the most-recently filed amendment. Undetermined version (null) is always included.

q_spenderstring[]

Keyword search for spender name or ID

form_line_numberstring[]

Filter for form and line number using the following format: FORM-LINENUMBER. For example an argument such as F3X-16 would filter down to all entries from form F3X line number 16.

per_pageinteger

The number of results returned per page. Defaults to 20.

last_indexinteger

Index of last result from previous page

sortstring

Provide a field to sort by. Use - for descending order.

sort_hide_nullboolean

Hide null values on sorted column(s).

sort_null_onlyboolean

Toggle that filters out all rows having sort column that is non-null

sort_nulls_lastboolean

Toggle that sorts null values last

api_keystring

Response

Default response

Changes

No recorded changes to this operation across all 20 revisions of this API.