### Search API Source: https://api.open.fec.gov/developers/index Search for candidates and committees by name. This is a useful starting point for exploring the data. ```APIDOC ## Search Endpoints ### Description Allows searching for candidates and committees by their names. ### Method GET ### Endpoint `/search` ### Parameters #### Query Parameters - **q** (string) - Required - The search query string. - **type** (string) - Optional - Filter search results by type ('candidate' or 'committee'). ### Request Example ```json { "example": "/search?q=John%20Smith&type=candidate" } ``` ### Response #### Success Response (200) - **results** (array) - A list of matching candidates or committees. - Each item in the array contains details like `id`, `name`, and `type`. #### Response Example ```json { "example": { "results": [ { "id": "P00000001", "name": "John Smith for Congress", "type": "candidate" }, { "id": "C00123456", "name": "Smith for President Committee", "type": "committee" } ] } } ``` ``` -------------------------------- ### Legal Resources API Source: https://api.open.fec.gov/developers/index Access resources related to statutes, regulations, and Commission actions relevant to campaign finance law. ```APIDOC ## GET /legal ### Description Provides access to legal resources, including relevant statutes, regulations, and Commission actions pertaining to campaign finance law. ### Method GET ### Endpoint /legal ### Parameters #### Query Parameters - **resource_type** (string) - Optional - Filter by type of resource (e.g., 'statute', 'regulation', 'commission_action'). - **keyword** (string) - Optional - Search for resources containing a specific keyword. - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **legal_resources** (array) - A list of legal resource records. - **pagination** (object) - Pagination details. #### Response Example ```json { "legal_resources": [ { "resource_id": "LEGAL.1234567890", "title": "Federal Election Campaign Act", "resource_type": "statute", "url": "/legal/statutes/feca" } ], "pagination": { "page": 1, "per_page": 20, "count": 100 } } ``` ``` -------------------------------- ### Candidate API Source: https://api.open.fec.gov/developers/index Endpoints for accessing information about individuals running for federal office. Information is organized by `candidate_id`. Use `/candidates/search/` to locate a specific candidate. ```APIDOC ## Candidate Endpoints ### Description Provides access to information about candidates running for federal office. Data is primarily sourced from FEC registration Forms 1 and 2. ### Method GET ### Endpoint `/candidates` ### Parameters #### Query Parameters - **candidate_id** (string) - Required - Unique identifier for a candidate. - **name** (string) - Optional - Filter candidates by name. ### Request Example ```json { "example": "/candidates?candidate_id=P00000001" } ``` ### Response #### Success Response (200) - **candidate_id** (string) - Unique identifier for the candidate. - **name** (string) - Full name of the candidate. - **party** (string) - Political party affiliation. - **election_years** (array) - Years in which the candidate ran for election. #### Response Example ```json { "example": { "candidate_id": "P00000001", "name": "John Doe", "party": "Democrat", "election_years": [2020, 2022] } } ``` ``` -------------------------------- ### Efiling API Source: https://api.open.fec.gov/developers/index Access real-time campaign finance data from electronic filers. This endpoint contains the most recent four months of data and is not processed or coded. ```APIDOC ## GET /efile ### Description Retrieves real-time campaign finance data directly from electronic filers. Please note that this endpoint only contains the most recent four months of data and does not include processed or coded information available through other endpoints. ### Method GET ### Endpoint /efile ### Parameters #### Query Parameters - **committee_id** (string) - Optional - Filter by committee ID. - **filing_type** (string) - Optional - Filter by type of filing. - **min_date** (date) - Optional - Filter by minimum filing date (YYYY-MM-DD). - **max_date** (date) - Optional - Filter by maximum filing date (YYYY-MM-DD). - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **efile_data** (array) - A list of real-time efiling records. - **pagination** (object) - Pagination details. #### Response Example ```json { "efile_data": [ { "filing_id": "EF.1234567890", "committee_id": "C12345678", "filing_date": "2023-10-27T10:00:00Z", "report_type": "F3X" } ], "pagination": { "page": 1, "per_page": 20, "count": 50000 } } ``` ``` -------------------------------- ### Loans API Source: https://api.open.fec.gov/developers/index Access Schedule C filings, which show all loans, endorsements, and loan guarantees received or made by a committee. ```APIDOC ## GET /schedules/schedule_c ### Description Retrieves Schedule C filings, which document all loans, endorsements, and loan guarantees that a committee has either received or made. ### Method GET ### Endpoint /schedules/schedule_c ### Parameters #### Query Parameters - **lender_name** (string) - Optional - Filter by the name of the lender. - **borrower_name** (string) - Optional - Filter by the name of the borrower. - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **loans** (array) - A list of Schedule C loan records. - **pagination** (object) - Pagination details. #### Response Example ```json { "loans": [ { "loan_id": "SC.1234567890", "lender_name": "XYZ Bank", "borrower_name": "Campaign Committee", "loan_amount": 10000.00, "loan_date": "2023-09-01" } ], "pagination": { "page": 1, "per_page": 20, "count": 500 } } ``` ``` -------------------------------- ### Presidential Data API Source: https://api.open.fec.gov/developers/index Access data supporting the FEC's presidential map, including information relevant to presidential campaigns. ```APIDOC ## GET /presidential ### Description Retrieves data used for the FEC's presidential map. This includes various datasets related to presidential campaign finance. ### Method GET ### Endpoint /presidential ### Parameters #### Query Parameters - **year** (integer) - Optional - Filter by election year. - **state** (string) - Optional - Filter by state. - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **presidential_data** (array) - A list of presidential data records. - **pagination** (object) - Pagination details. #### Response Example ```json { "presidential_data": [ { "candidate_id": "P20240001", "candidate_name": "Presidential Candidate", "election_year": 2024, "state": "CA", "total_receipts": 1000000.00 } ], "pagination": { "page": 1, "per_page": 20, "count": 1000 } } ``` ``` -------------------------------- ### Receipts API Source: https://api.open.fec.gov/developers/index Access Schedule A records detailing itemized receipts, including individual contributions. Provides access to individual contributions and related methodology. ```APIDOC ## GET /schedules/schedule_a ### Description Retrieves Schedule A records, which detail itemized receipts and contributions from individuals. For a comprehensive understanding of Schedule A records, refer to the 'About receipts data' section. Information on the 'is_individual' methodology is available on the methodology page. ### Method GET ### Endpoint /schedules/schedule_a ### Parameters #### Query Parameters - **contributor_name** (string) - Optional - Filter by contributor's name. - **min_date** (date) - Optional - Filter by minimum filing date (YYYY-MM-DD). - **max_date** (date) - Optional - Filter by maximum filing date (YYYY-MM-DD). - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **receipts** (array) - A list of Schedule A receipt records. - **pagination** (object) - Pagination details. #### Response Example ```json { "receipts": [ { "receipt_id": "SA11AI.1234567890", "contributor_name": "Jane Doe", "contribution_receipt_amount": 100.00, "receipt_date": "2023-10-26" } ], "pagination": { "page": 1, "per_page": 20, "count": 10000 } } ``` ``` -------------------------------- ### Filings API Source: https://api.open.fec.gov/developers/index Access all official records and reports filed by or delivered to the FEC. Counts for large result sets are approximate; pagination is recommended. ```APIDOC ## GET /filings ### Description Retrieves all official records and reports filed with the FEC. Due to the large volume of data, counts for extensive result sets are approximate, and users should paginate through records until none are returned. ### Method GET ### Endpoint /filings ### Parameters #### Query Parameters - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **results** (array) - A list of filing records. - **pagination** (object) - Pagination details. #### Response Example ```json { "results": [ { "filing_id": 12345, "report_type": "F3X", "filing_date": "2023-10-27" } ], "pagination": { "page": 1, "per_page": 20, "count": 5000000 } } ``` ``` -------------------------------- ### Filer Resources API Source: https://api.open.fec.gov/developers/index Provides access to filer resources, including tools to look up RAD analysts by committee ID. ```APIDOC ## GET /filer_resources/rad_analyst ### Description Retrieves information for RAD analysts, allowing lookups by committee ID. This resource is useful for filers needing to identify their assigned analyst. ### Method GET ### Endpoint /filer_resources/rad_analyst ### Parameters #### Query Parameters - **committee_id** (string) - Required - The unique identifier for the committee. ### Response #### Success Response (200) - **analyst_name** (string) - The name of the RAD analyst. - **telephone_extension** (string) - The telephone extension for the analyst. #### Response Example ```json { "analyst_name": "John Doe", "telephone_extension": "x1234" } ``` ``` -------------------------------- ### Debts API Source: https://api.open.fec.gov/developers/index Access Schedule D filings, which show debts and obligations owed to or by the committee that require disclosure. ```APIDOC ## GET /schedules/schedule_d ### Description Retrieves Schedule D filings, which list debts and obligations that a committee owes or is owed, and are required to be disclosed. ### Method GET ### Endpoint /schedules/schedule_d ### Parameters #### Query Parameters - **creditor_name** (string) - Optional - Filter by the name of the creditor. - **debtor_name** (string) - Optional - Filter by the name of the debtor. - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **debts** (array) - A list of Schedule D debt records. - **pagination** (object) - Pagination details. #### Response Example ```json { "debts": [ { "debt_id": "SD.1234567890", "creditor_name": "Supplier Inc.", "debtor_name": "Campaign Committee", "amount_owed": 2500.00, "due_date": "2023-11-30" } ], "pagination": { "page": 1, "per_page": 20, "count": 300 } } ``` ``` -------------------------------- ### Party-Coordinated Expenditures API Source: https://api.open.fec.gov/developers/index Access Schedule F filings for special expenditures made by national or state party committees in connection with general election campaigns of federal candidates. ```APIDOC ## GET /schedules/schedule_f ### Description Retrieves Schedule F filings, which document special expenditures made by national or state party committees in connection with the general election campaigns of federal candidates. ### Method GET ### Endpoint /schedules/schedule_f ### Parameters #### Query Parameters - **committee_name** (string) - Optional - Filter by the name of the party committee. - **candidate_name** (string) - Optional - Filter by the name of the federal candidate. - **min_date** (date) - Optional - Filter by minimum expenditure date (YYYY-MM-DD). - **max_date** (date) - Optional - Filter by maximum expenditure date (YYYY-MM-DD). - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **party_coordinated_expenditures** (array) - A list of Schedule F party-coordinated expenditure records. - **pagination** (object) - Pagination details. #### Response Example ```json { "party_coordinated_expenditures": [ { "expenditure_id": "SF.1234567890", "committee_name": "National Party Committee", "candidate_name": "Federal Candidate", "expenditure_amount": 5000.00, "expenditure_date": "2023-10-15" } ], "pagination": { "page": 1, "per_page": 20, "count": 100 } } ``` ``` -------------------------------- ### National Party Accounts API Source: https://api.open.fec.gov/developers/index Access endpoints providing information about national party committee accounts, including presidential nominating conventions, headquarters, and election recounts. ```APIDOC ## GET /national_party_accounts ### Description Retrieves data on national party committee accounts. This includes information related to presidential nominating conventions, national party headquarters, and accounts for election recounts and contests. ### Method GET ### Endpoint /national_party_accounts ### Parameters #### Query Parameters - **account_type** (string) - Optional - Filter by the type of account (e.g., 'convention', 'headquarters', 'recount'). - **year** (integer) - Optional - Filter by election year. - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **accounts** (array) - A list of national party account records. - **pagination** (object) - Pagination details. #### Response Example ```json { "accounts": [ { "account_id": "NPA.1234567890", "committee_name": "National Democratic Party", "account_type": "convention", "year": 2024, "total_funds": 500000.00 } ], "pagination": { "page": 1, "per_page": 20, "count": 30 } } ``` ``` -------------------------------- ### Electioneering Communications API Source: https://api.open.fec.gov/developers/index Access data on electioneering communications, defined as broadcast, cable, or satellite communications referring to a clearly identified federal candidate and publicly distributed within specific timeframes before an election. ```APIDOC ## GET /electioneering ### Description Retrieves data on electioneering communications. An electioneering communication is defined as a broadcast, cable, or satellite communication that refers to a clearly identified federal candidate, is publicly distributed for a fee, and is aired within 60 days of a general election or 30 days of a primary election. ### Method GET ### Endpoint /electioneering ### Parameters #### Query Parameters - **candidate_name** (string) - Optional - Filter by the name of the federal candidate mentioned. - **min_date** (date) - Optional - Filter by minimum communication date (YYYY-MM-DD). - **max_date** (date) - Optional - Filter by maximum communication date (YYYY-MM-DD). - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **electioneering_communications** (array) - A list of electioneering communication records. - **pagination** (object) - Pagination details. #### Response Example ```json { "electioneering_communications": [ { "communication_id": "EC.1234567890", "candidate_name": "Federal Candidate", "communication_type": "TV Ad", "broadcast_date": "2023-10-18", "cost": 5000.00 } ], "pagination": { "page": 1, "per_page": 20, "count": 75 } } ``` ``` -------------------------------- ### Financial Reports API Source: https://api.open.fec.gov/developers/index Fetch key financial information from various FEC forms (Form 3, 3X, 13, 3P) for committees. This includes summarized financial activity. ```APIDOC ## Financial Reports Endpoints ### Description Retrieves summarized financial activity from FEC reports filed by committees. Supports data from Form 3, 3X, 13, and 3P. ### Method GET ### Endpoint `/financial` ### Parameters #### Query Parameters - **committee_id** (string) - Required - Unique identifier for the committee. - **form_type** (string) - Optional - Filter by form type (e.g., '3X', '3P'). - **cycle** (integer) - Optional - Filter by election cycle year. ### Request Example ```json { "example": "/financial?committee_id=C00000001&form_type=3X&cycle=2024" } ``` ### Response #### Success Response (200) - **committee_id** (string) - Unique identifier for the committee. - **form_type** (string) - The type of FEC form. - **period_start_date** (string) - The start date of the reporting period. - **period_end_date** (string) - The end date of the reporting period. - **total_receipts** (number) - Total receipts for the period. - **total_disbursements** (number) - Total disbursements for the period. #### Response Example ```json { "example": { "committee_id": "C00000001", "form_type": "3X", "period_start_date": "2024-01-01", "period_end_date": "2024-03-31", "total_receipts": 150000.75, "total_disbursements": 120000.50 } } ``` ``` -------------------------------- ### Disbursements API Source: https://api.open.fec.gov/developers/index Access Schedule B filings that describe itemized disbursements, detailing how committees spend their money. Data is reported as part of forms F3, F3X, and F3P. ```APIDOC ## GET /schedules/schedule_b ### Description Retrieves Schedule B filings, which detail itemized disbursements made by committees and other filers. This data illustrates how campaign funds are spent and is reported under forms F3, F3X, and F3P. ### Method GET ### Endpoint /schedules/schedule_b ### Parameters #### Query Parameters - **payee_name** (string) - Optional - Filter by the name of the payee. - **min_date** (date) - Optional - Filter by minimum disbursement date (YYYY-MM-DD). - **max_date** (date) - Optional - Filter by maximum disbursement date (YYYY-MM-DD). - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **disbursements** (array) - A list of Schedule B disbursement records. - **pagination** (object) - Pagination details. #### Response Example ```json { "disbursements": [ { "disbursement_id": "SB21B.1234567890", "payee_name": "ABC Printing", "disbursement_amount": 500.00, "disbursement_date": "2023-10-25" } ], "pagination": { "page": 1, "per_page": 20, "count": 8000 } } ``` ``` -------------------------------- ### Independent Expenditures API Source: https://api.open.fec.gov/developers/index Access Schedule E filings for itemized independent expenditures. This includes expenditures for communications expressly advocating for or against a candidate, not made in coordination with campaigns. ```APIDOC ## GET /schedules/schedule_e ### Description Retrieves Schedule E filings, which cover itemized expenditures made independently of a candidate's campaign. These are communications expressly advocating for or against a clearly identified federal candidate, not made in cooperation, consultation, or concert with the candidate or their agents. ### Method GET ### Endpoint /schedules/schedule_e ### Parameters #### Query Parameters - **candidate_name** (string) - Optional - Filter by the name of the candidate. - **support_or_oppose** (string) - Optional - Filter by whether the expenditure supports or opposes a candidate ('S' or 'O'). - **min_date** (date) - Optional - Filter by minimum expenditure date (YYYY-MM-DD). - **max_date** (date) - Optional - Filter by maximum expenditure date (YYYY-MM-DD). - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **independent_expenditures** (array) - A list of Schedule E independent expenditure records. - **pagination** (object) - Pagination details. #### Response Example ```json { "independent_expenditures": [ { "expenditure_id": "SE.1234567890", "candidate_name": "John Smith", "support_or_oppose": "O", "expenditure_amount": 1500.00, "expenditure_date": "2023-10-20" } ], "pagination": { "page": 1, "per_page": 20, "count": 12000 } } ``` ``` -------------------------------- ### Audit Reports API Source: https://api.open.fec.gov/developers/index Access Final Audit Reports approved by the Commission since inception, related to the agency's monitoring and audit processes. ```APIDOC ## GET /audit ### Description Retrieves Final Audit Reports approved by the Commission. These reports stem from the agency's monitoring process, which may detect potential violations through report reviews or Commission audits. ### Method GET ### Endpoint /audit ### Parameters #### Query Parameters - **committee_id** (string) - Optional - Filter by committee ID. - **report_year** (integer) - Optional - Filter by the year the audit report was approved. - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **audit_reports** (array) - A list of final audit report records. - **pagination** (object) - Pagination details. #### Response Example ```json { "audit_reports": [ { "report_id": "AUDIT.1234567890", "committee_id": "C87654321", "report_title": "Final Audit Report - 2022", "approval_date": "2023-05-15" } ], "pagination": { "page": 1, "per_page": 20, "count": 15 } } ``` ``` -------------------------------- ### Committee API Source: https://api.open.fec.gov/developers/index Endpoints for retrieving information about entities that spend and raise money in elections. Financial information is organized by `committee_id`. ```APIDOC ## Committee Endpoints ### Description Provides access to information about committees involved in elections. This includes campaign committees, PACs, and political party committees. Data is primarily sourced from FEC registration Forms 1 and 2. ### Method GET ### Endpoint `/committees` ### Parameters #### Query Parameters - **committee_id** (string) - Required - Unique identifier for a committee. - **name** (string) - Optional - Filter committees by name. - **cycle** (integer) - Optional - Filter by election cycle year. ### Request Example ```json { "example": "/committees?committee_id=C00000001&cycle=2024" } ``` ### Response #### Success Response (200) - **committee_id** (string) - Unique identifier for the committee. - **name** (string) - Name of the committee. - **party** (string) - Political party affiliation (if applicable). - **treasurer_name** (string) - Name of the committee's treasurer. #### Response Example ```json { "example": { "committee_id": "C00000001", "name": "Citizens for Example", "party": "Independent", "treasurer_name": "Jane Smith" } } ``` ``` -------------------------------- ### Communication Cost API Source: https://api.open.fec.gov/developers/index Access reports of communication costs by corporations and membership organizations from FEC Form F7. ```APIDOC ## GET /communication_costs ### Description Retrieves reports detailing communication costs incurred by corporations and membership organizations, as filed on FEC Form F7. ### Method GET ### Endpoint /communication_costs ### Parameters #### Query Parameters - **organization_name** (string) - Optional - Filter by the name of the organization. - **min_date** (date) - Optional - Filter by minimum report date (YYYY-MM-DD). - **max_date** (date) - Optional - Filter by maximum report date (YYYY-MM-DD). - **page** (integer) - Optional - The page number for pagination. - **per_page** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **communication_costs** (array) - A list of communication cost records. - **pagination** (object) - Pagination details. #### Response Example ```json { "communication_costs": [ { "report_id": "F7.1234567890", "organization_name": "Tech Corp", "cost_amount": 2000.00, "report_date": "2023-10-22" } ], "pagination": { "page": 1, "per_page": 20, "count": 50 } } ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.