---
type: "firecrawl-provider"
description: "United States Senate electronic Financial Disclosure search (efdsearch.senate.gov): search public financial disclosure filings of Senators, former Senators and Senate candidates by name, filer type, report type, state and date received, then read one filing: an electronic periodic transaction report (transactions table), an electronic annual report (Parts 1-10 with their tables), a scanned paper filing (page image URLs on efd-media-public.senate.gov) or a due-date extension notice. Every call requires the caller to acknowledge the statutory prohibitions on obtaining and using these reports (5 U.S.C. app. 105(c)); the program performs the site's acknowledgement step only after the caller has done so and repeats the statutory notice in every output. Public, anonymous, read-only."
use_when: "United States Senate electronic Financial Disclosure search (efdsearch.senate.gov): search public financial disclosure filings of Senators, former Senators and Senate candidates by name, filer type, report type, state and date received, then read one filing: an electronic periodic transaction report (transactions table), an electronic annual report (Parts 1-10 with their tables), a scanned paper filing (page image URLs on efd-media-public.senate.gov) or a due-date extension notice. Every call requires the caller to acknowledge the statutory prohibitions on obtaining and using these reports (5 U.S.C. app. 105(c)); the program performs the site's acknowledgement step only after the caller has done so and repeats the statutory notice in every output. Public, anonymous, read-only."
categories: "Public records"
capabilities: 2
credits_per_call: 5
---
# US Senate financial disclosures (eFD) on Firecrawl Alexandria

United States Senate electronic Financial Disclosure search (efdsearch.senate.gov): search public financial disclosure filings of Senators, former Senators and Senate candidates by name, filer type, report type, state and date received, then read one filing: an electronic periodic transaction report (transactions table), an electronic annual report (Parts 1-10 with their tables), a scanned paper filing (page image URLs on efd-media-public.senate.gov) or a due-date extension notice. Every call requires the caller to acknowledge the statutory prohibitions on obtaining and using these reports (5 U.S.C. app. 105(c)); the program performs the site's acknowledgement step only after the caller has done so and repeats the statutory notice in every output. Public, anonymous, read-only.

- Categories: Public records
- Category index: [Public records category](https://firecrawl.dev/alexandria/agents/categories/public-records)
- Provider key: `efdsearch-senate-gov`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/efdsearch-senate-gov)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/efdsearch-senate-gov/openapi.json)

## Capabilities

- [Get report](https://firecrawl.dev/alexandria/agents/providers/efdsearch-senate-gov/financial-disclosures/get_report): Read one Senate eFD filing by report_kind and report_id (from search_reports), or by its pasted efdsearch.senate.gov/search/view/ URL. Four detail families: ptr (GET /search/view/ptr/{id}/): title, filer name, filed-at text and date, the certification statements, and the transactions table (number, date, owner, ticker or null, asset name, asset type, transaction type, amount range text with parsed min/max dollars, comment or null); annual (GET /search/view/annual/{id}/, also Candidate reports and amendments): title, filer, filed-at, certifications and every Part section (number, title, yes/no question and answer, the table's column headers and rows as text cells, notes); paper (GET /search/view/paper/{id}/, scanned filings incl. all blind-trust and other-document reports): page_count and pages[] with the page image URL on efd-media-public.senate.gov (anonymous GIFs, not fetched); extension_notice (GET /search/view/extension-notice/regular/{id}/): filer name, notice text and the new due date. Filed-at timestamps carry no timezone on the page and are kept as text plus the calendar date. Sections not applicable to the family are omitted. An unknown report_id is answered by the site with a redirect to the search form and reported as not_found. LEGAL NOTICE (5 U.S.C. app. 105(c)): it is unlawful to obtain or use a report for any unlawful purpose; for any commercial purpose other than by news and communications media for dissemination to the general public; for determining or establishing the credit rating of any individual; or for use, directly or indirectly, in the solicitation of money for any political, charitable or other purpose. The caller must set acknowledge_use_prohibitions to true; otherwise the function fails with invalid_input and contacts nothing.
- [Search reports](https://firecrawl.dev/alexandria/agents/providers/efdsearch-senate-gov/financial-disclosures/search_reports): Search the Senate eFD filing index (POST /search/report/data/, the DataTables endpoint behind the Find Reports form). Filters: last_name and first_name (prefix match), filer_types (senator, candidate, former_senator), report_types (annual, ptr, extension, blind_trust, other), senator_state and candidate_state (two-letter codes), submitted_from / submitted_to (date received, YYYY-MM-DD; the site indexes filings from 2012-01-01), filter_text (the table's free-text filter across all columns), sort_by and sort_dir. Offset pagination with page_size (1-100) and continuation (the next start offset). Each row carries the filer's first and last name, the filer label as shown (for example 'Warren, Elizabeth (Senator)'), the report title, the report kind derived from the detail link (ptr, annual, paper, extension_notice), the report_id (UUID) and URL for get_report, and the date received (MM/DD/YYYY as given plus ISO). records_total is the count for the structured filters, records_filtered additionally applies filter_text. A search with no matches is a valid empty result. LEGAL NOTICE (5 U.S.C. app. 105(c)): it is unlawful to obtain or use a report for any unlawful purpose; for any commercial purpose other than by news and communications media for dissemination to the general public; for determining or establishing the credit rating of any individual; or for use, directly or indirectly, in the solicitation of money for any political, charitable or other purpose. The caller must set acknowledge_use_prohibitions to true; otherwise the function fails with invalid_input and contacts nothing.

## 1. Choose this provider when

United States Senate electronic Financial Disclosure search (efdsearch.senate.gov): search public financial disclosure filings of Senators, former Senators and Senate candidates by name, filer type, report type, state and date received, then read one filing: an electronic periodic transaction report (transactions table), an electronic annual report (Parts 1-10 with their tables), a scanned paper filing (page image URLs on efd-media-public.senate.gov) or a due-date extension notice. Every call requires the caller to acknowledge the statutory prohibitions on obtaining and using these reports (5 U.S.C. app. 105(c)); the program performs the site's acknowledgement step only after the caller has done so and repeats the statutory notice in every output. Public, anonymous, read-only.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "efdsearch-senate-gov",
  "capability": "financial-disclosures/get_report",
  "options": {
    "acknowledge_use_prohibitions": true,
    "report_id": "0def0c6e-c795-4d03-b3da-1307e7b90039",
    "report_kind": "extension_notice"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `acknowledge_use_prohibitions` (boolean, required): Must be true: the caller affirms the prohibitions on obtaining and using financial disclosure reports in 5 U.S.C. app. 105(c) (no unlawful or commercial use other than by news media, no credit rating, no solicitation of money). Example: `false`
- `report_id` (string): The filing UUID from search_reports (case preserved; legacy paper filings are uppercase). Pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$. Example: `<report_id>`
- `report_kind` (string): Detail family as returned by search_reports. Required with report_id unless url is given. Example: `ptr`
- `url` (string): Alternative to report_kind + report_id: a pasted https://efdsearch.senate.gov/search/view/{ptr|annual|paper|extension-notice/regular}/{uuid}/ URL. Example: `<url>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "efdsearch-senate-gov",
    capability: "financial-disclosures/get_report",
    options: {
      acknowledge_use_prohibitions: true,
      report_id: "0def0c6e-c795-4d03-b3da-1307e7b90039",
      report_kind: "extension_notice",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "efdsearch-senate-gov",
  "capability": "financial-disclosures/get_report",
  "options": {
    "acknowledge_use_prohibitions": True,
    "report_id": "0def0c6e-c795-4d03-b3da-1307e7b90039",
    "report_kind": "extension_notice"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "efdsearch-senate-gov",
    "capability": "financial-disclosures/get_report",
    "options": {
      "acknowledge_use_prohibitions": true,
      "report_id": "0def0c6e-c795-4d03-b3da-1307e7b90039",
      "report_kind": "extension_notice"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'efdsearch-senate-gov/financial-disclosures/get_report' \
  --options '{"acknowledge_use_prohibitions":true,"report_id":"0def0c6e-c795-4d03-b3da-1307e7b90039","report_kind":"extension_notice"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "efdsearch-senate-gov",
  "capability": "financial-disclosures/get_report",
  "options": {
    "acknowledge_use_prohibitions": true,
    "report_id": "0def0c6e-c795-4d03-b3da-1307e7b90039",
    "report_kind": "extension_notice"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "efdsearch-senate-gov",
  "capability": "financial-disclosures/get_report",
  "options": {
    "acknowledge_use_prohibitions": true,
    "report_id": "0def0c6e-c795-4d03-b3da-1307e7b90039",
    "report_kind": "extension_notice"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "extension": {
    "new_due_date": "2020-08-13",
    "new_due_date_text": "August 13, 2020",
    "text": "Elizabeth Warren timely requested an extension of time for filing the annual Public Financial Disclosure Report. Pursuant to section 101(g) of the Ethics in Government Act of 1978, as amended, a 90-day extension was granted and the new due date for the report is no later than August 13, 2020."
  },
  "filer_name": "Elizabeth Warren",
  "observed_at_ms": 1791240433411,
  "prohibitions_notice": "Title 1 of the Ethics in Government Act of 1978, as amended, 5 U.S.C. app. § 105(c), states that: It shall be unlawful for any person to obtain or use a report: for any unlawful purpose; for any commercial purpose, other than by news and communications media for dissemination to the general public; for determining or establishing the credit rating of any individual; or for use, directly or indirectly, in the solicitation of money for any political, charitable, or other purpose. The Attorney General may bring a civil action against any person who obtains or uses a report for any purpose prohibited in paragraph (1) of this subsection. The court in which such action is brought may assess against such person a penalty in any amount not to exceed $10,000. Such remedy shall be in addition to any other remedy available under statutory or common law.",
  "report_id": "0def0c6e-c795-4d03-b3da-1307e7b90039",
  "report_kind": "extension_notice",
  "report_url": "https://efdsearch.senate.gov/search/view/extension-notice/regular/0def0c6e-c795-4d03-b3da-1307e7b90039/",
  "title": "Annual Report for 2019 Due Date Extension 1"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Get report

- Capability: `financial-disclosures/get_report`
- Description: Read one Senate eFD filing by report_kind and report_id (from search_reports), or by its pasted efdsearch.senate.gov/search/view/ URL. Four detail families: ptr (GET /search/view/ptr/{id}/): title, filer name, filed-at text and date, the certification statements, and the transactions table (number, date, owner, ticker or null, asset name, asset type, transaction type, amount range text with parsed min/max dollars, comment or null); annual (GET /search/view/annual/{id}/, also Candidate reports and amendments): title, filer, filed-at, certifications and every Part section (number, title, yes/no question and answer, the table's column headers and rows as text cells, notes); paper (GET /search/view/paper/{id}/, scanned filings incl. all blind-trust and other-document reports): page_count and pages[] with the page image URL on efd-media-public.senate.gov (anonymous GIFs, not fetched); extension_notice (GET /search/view/extension-notice/regular/{id}/): filer name, notice text and the new due date. Filed-at timestamps carry no timezone on the page and are kept as text plus the calendar date. Sections not applicable to the family are omitted. An unknown report_id is answered by the site with a redirect to the search form and reported as not_found. LEGAL NOTICE (5 U.S.C. app. 105(c)): it is unlawful to obtain or use a report for any unlawful purpose; for any commercial purpose other than by news and communications media for dissemination to the general public; for determining or establishing the credit rating of any individual; or for use, directly or indirectly, in the solicitation of money for any political, charitable or other purpose. The caller must set acknowledge_use_prohibitions to true; otherwise the function fails with invalid_input and contacts nothing.
- Instructions: You have a report_id and report_kind from search_reports (or a pasted /search/view/ URL) and need the filing's contents: PTR transactions, annual report parts, paper page images or the extension notice.
- Cost: 5 credits per call
- Capability file: [Get report](https://firecrawl.dev/alexandria/agents/providers/efdsearch-senate-gov/financial-disclosures/get_report)

Accepted options:
- `acknowledge_use_prohibitions` (boolean, required): Must be true: the caller affirms the prohibitions on obtaining and using financial disclosure reports in 5 U.S.C. app. 105(c) (no unlawful or commercial use other than by news media, no credit rating, no solicitation of money). Example: `false`
- `report_id` (string): The filing UUID from search_reports (case preserved; legacy paper filings are uppercase). Pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$. Example: `<report_id>`
- `report_kind` (string): Detail family as returned by search_reports. Required with report_id unless url is given. Example: `ptr`
- `url` (string): Alternative to report_kind + report_id: a pasted https://efdsearch.senate.gov/search/view/{ptr|annual|paper|extension-notice/regular}/{uuid}/ URL. Example: `<url>`

Response schema example:
```json
{
  "extension": {
    "new_due_date": "2020-08-13",
    "new_due_date_text": "August 13, 2020",
    "text": "Elizabeth Warren timely requested an extension of time for filing the annual Public Financial Disclosure Report. Pursuant to section 101(g) of the Ethics in Government Act of 1978, as amended, a 90-day extension was granted and the new due date for the report is no later than August 13, 2020."
  },
  "filer_name": "Elizabeth Warren",
  "observed_at_ms": 1791240433411,
  "prohibitions_notice": "Title 1 of the Ethics in Government Act of 1978, as amended, 5 U.S.C. app. § 105(c), states that: It shall be unlawful for any person to obtain or use a report: for any unlawful purpose; for any commercial purpose, other than by news and communications media for dissemination to the general public; for determining or establishing the credit rating of any individual; or for use, directly or indirectly, in the solicitation of money for any political, charitable, or other purpose. The Attorney General may bring a civil action against any person who obtains or uses a report for any purpose prohibited in paragraph (1) of this subsection. The court in which such action is brought may assess against such person a penalty in any amount not to exceed $10,000. Such remedy shall be in addition to any other remedy available under statutory or common law.",
  "report_id": "0def0c6e-c795-4d03-b3da-1307e7b90039",
  "report_kind": "extension_notice",
  "report_url": "https://efdsearch.senate.gov/search/view/extension-notice/regular/0def0c6e-c795-4d03-b3da-1307e7b90039/",
  "title": "Annual Report for 2019 Due Date Extension 1"
}
```

### Search reports

- Capability: `financial-disclosures/search_reports`
- Description: Search the Senate eFD filing index (POST /search/report/data/, the DataTables endpoint behind the Find Reports form). Filters: last_name and first_name (prefix match), filer_types (senator, candidate, former_senator), report_types (annual, ptr, extension, blind_trust, other), senator_state and candidate_state (two-letter codes), submitted_from / submitted_to (date received, YYYY-MM-DD; the site indexes filings from 2012-01-01), filter_text (the table's free-text filter across all columns), sort_by and sort_dir. Offset pagination with page_size (1-100) and continuation (the next start offset). Each row carries the filer's first and last name, the filer label as shown (for example 'Warren, Elizabeth (Senator)'), the report title, the report kind derived from the detail link (ptr, annual, paper, extension_notice), the report_id (UUID) and URL for get_report, and the date received (MM/DD/YYYY as given plus ISO). records_total is the count for the structured filters, records_filtered additionally applies filter_text. A search with no matches is a valid empty result. LEGAL NOTICE (5 U.S.C. app. 105(c)): it is unlawful to obtain or use a report for any unlawful purpose; for any commercial purpose other than by news and communications media for dissemination to the general public; for determining or establishing the credit rating of any individual; or for use, directly or indirectly, in the solicitation of money for any political, charitable or other purpose. The caller must set acknowledge_use_prohibitions to true; otherwise the function fails with invalid_input and contacts nothing.
- Instructions: Find Senate financial disclosure filings (PTRs, annual reports, extensions, blind trusts, paper filings) by Senator or candidate name, state, report type or date, and obtain report_id values for get_report.
- Cost: 5 credits per call
- Capability file: [Search reports](https://firecrawl.dev/alexandria/agents/providers/efdsearch-senate-gov/financial-disclosures/search_reports)

Accepted options:
- `acknowledge_use_prohibitions` (boolean, required): Must be true: the caller affirms the prohibitions on obtaining and using financial disclosure reports in 5 U.S.C. app. 105(c) (no unlawful or commercial use other than by news media, no credit rating, no solicitation of money). The program submits the site's acknowledgement only on the caller's behalf after this affirmation. Example: `false`
- `candidate_state` (string): Two-letter state code of the candidate's race. Pattern: ^[A-Za-z]{2}$. Example: `<candidate_state>`
- `continuation` (string): Opaque cursor from a previous page's meta.page.next_cursor (the next start offset). Pattern: ^\d{1,7}$. Example: `<continuation>`
- `filer_types` (string[]): Restrict to filer types (site codes 1, 4, 5). Empty or absent: all. Example: `[]`
- `filter_text` (string): Free-text filter applied by the site across all result columns (the DataTables search box); records_filtered reflects it. Example: `<filter_text>`
- `first_name` (string): Filer first name, prefix match. Example: `<first_name>`
- `last_name` (string): Filer last name, prefix match as on the site (for example 'Warren'). Example: `<last_name>`
- `page_size` (number): Rows per page, 1-100 (the site's maximum). Example: `25`
- `report_types` (string[]): Restrict to report types: annual (Annual and Candidate reports incl. amendments, code 7), ptr (Periodic Transaction Reports, 11), extension (Due Date Extension notices, 10), blind_trust (14), other (Other Documents, 15). Empty or absent: all. Example: `[]`
- `senator_state` (string): Two-letter state code of the Senator's seat. Pattern: ^[A-Za-z]{2}$. Example: `<senator_state>`
- `sort_by` (string): Sort column. Default date_received. Example: `date_received`
- `sort_dir` (string): Sort direction. Default desc (newest first). Example: `desc`
- `submitted_from` (string): Earliest date received, YYYY-MM-DD (inclusive). Default 2012-01-01, the site's minimum. Pattern: ^\d{4}-\d{2}-\d{2}$. Example: `<submitted_from>`
- `submitted_to` (string): Latest date received, YYYY-MM-DD (inclusive, through 23:59:59). Default: open-ended. Pattern: ^\d{4}-\d{2}-\d{2}$. Example: `<submitted_to>`

Response schema example:
```json
{
  "observed_at_ms": 1791240416058,
  "page_size": 5,
  "prohibitions_notice": "Title 1 of the Ethics in Government Act of 1978, as amended, 5 U.S.C. app. § 105(c), states that: It shall be unlawful for any person to obtain or use a report: for any unlawful purpose; for any commercial purpose, other than by news and communications media for dissemination to the general public; for determining or establishing the credit rating of any individual; or for use, directly or indirectly, in the solicitation of money for any political, charitable, or other purpose. The Attorney General may bring a civil action against any person who obtains or uses a report for any purpose prohibited in paragraph (1) of this subsection. The court in which such action is brought may assess against such person a penalty in any amount not to exceed $10,000. Such remedy shall be in addition to any other remedy available under statutory or common law.",
  "records_filtered": 1,
  "records_total": 1,
  "reports": [
    {
      "date_received": "2020-04-16",
      "date_received_text": "04/16/2020",
      "filer": "Warren, Elizabeth (Senator)",
      "first_name": "Elizabeth",
      "last_name": "Warren",
      "report_id": "0def0c6e-c795-4d03-b3da-1307e7b90039",
      "report_kind": "extension_notice",
      "report_title": "Annual Report for 2019 Due Date Extension 1",
      "report_url": "https://efdsearch.senate.gov/search/view/extension-notice/regular/0def0c6e-c795-4d03-b3da-1307e7b90039/"
    }
  ],
  "start": 0
}
```
