---
type: "firecrawl-provider"
description: "OpenSecrets (opensecrets.org, the Center for Responsive Politics money-in-politics site) campaign finance by election race: how much each candidate raised, spent and has on hand in a U.S. Senate, U.S. House or governor race in any state, and the top contributing organizations to each federal candidate. Covers the 2026 midterm elections (e.g. New Hampshire / NH Senate: Chris Pappas vs John Sununu) and earlier cycles. Federal figures come from FEC reports; governor races use OpenSecrets' state-level disclosure data (formerly FollowTheMoney), which can lag a cycle."
use_when: "OpenSecrets (opensecrets.org, the Center for Responsive Politics money-in-politics site) campaign finance by election race: how much each candidate raised, spent and has on hand in a U.S. Senate, U.S. House or governor race in any state, and the top contributing organizations to each federal candidate. Covers the 2026 midterm elections (e.g. New Hampshire / NH Senate: Chris Pappas vs John Sununu) and earlier cycles. Federal figures come from FEC reports; governor races use OpenSecrets' state-level disclosure data (formerly FollowTheMoney), which can lag a cycle."
categories: "Public records"
capabilities: 2
credits_per_call: 5
---
# OpenSecrets race fundraising and top donors on Firecrawl Alexandria

OpenSecrets (opensecrets.org, the Center for Responsive Politics money-in-politics site) campaign finance by election race: how much each candidate raised, spent and has on hand in a U.S. Senate, U.S. House or governor race in any state, and the top contributing organizations to each federal candidate. Covers the 2026 midterm elections (e.g. New Hampshire / NH Senate: Chris Pappas vs John Sununu) and earlier cycles. Federal figures come from FEC reports; governor races use OpenSecrets' state-level disclosure data (formerly FollowTheMoney), which can lag a cycle.

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

## More

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

## Capabilities

- [Race fundraising](https://firecrawl.dev/alexandria/agents/providers/opensecrets-org/campaign-finance/race_fundraising): OpenSecrets campaign fundraising for one election race: every candidate (primary candidates included) with party, total raised, spent and cash on hand, for a U.S. Senate, U.S. House district or governor race in a U.S. state and cycle (default 2026 midterms). Example: New Hampshire (NH) 2026 Senate race fundraising: Chris Pappas (D) vs John Sununu (R). Federal races report FEC filings (raised, spent, cash on hand); governor races report raised only from state campaign finance disclosures, and OpenSecrets may not have the current cycle yet (then the latest cycle is returned with a note).
- [Race top contributors](https://firecrawl.dev/alexandria/agents/providers/opensecrets-org/campaign-finance/race_top_contributors): OpenSecrets top 20 contributing organizations (employers, PACs and their members, employees and families) for each candidate in a U.S. Senate or U.S. House race in a U.S. state and cycle (default 2026), with totals split into individual and PAC money. Optionally filter to one candidate by name. Example: top donors to Chris Pappas in the New Hampshire (NH) 2026 Senate race. Federal races only (FEC data).

## 1. Choose this provider when

OpenSecrets (opensecrets.org, the Center for Responsive Politics money-in-politics site) campaign finance by election race: how much each candidate raised, spent and has on hand in a U.S. Senate, U.S. House or governor race in any state, and the top contributing organizations to each federal candidate. Covers the 2026 midterm elections (e.g. New Hampshire / NH Senate: Chris Pappas vs John Sununu) and earlier cycles. Federal figures come from FEC reports; governor races use OpenSecrets' state-level disclosure data (formerly FollowTheMoney), which can lag a cycle.

## 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": "opensecrets-org",
  "capability": "campaign-finance/race_fundraising",
  "options": {
    "cycle": 2026,
    "office": "senate",
    "state": "NH"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `cycle` (number): Election cycle (even year). Defaults to 2026. When OpenSecrets has no data for that cycle yet it answers with its latest cycle and says so in note. Example: `2000`
- `district` (number): U.S. House district number, required for office=house; 1 (or 0) for an at-large seat. Ignored for other offices. Example: `10`
- `office` (string, required): senate (U.S. Senate), house (U.S. House, needs district) or governor (the state's gubernatorial race). Example: `senate`
- `state` (string, required): U.S. state as a postal code (NH) or name (New Hampshire). All 50 states. Example: `<state>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "opensecrets-org",
    capability: "campaign-finance/race_fundraising",
    options: {
      cycle: 2026,
      office: "senate",
      state: "NH",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "opensecrets-org",
  "capability": "campaign-finance/race_fundraising",
  "options": {
    "cycle": 2026,
    "office": "senate",
    "state": "NH"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "opensecrets-org",
    "capability": "campaign-finance/race_fundraising",
    "options": {
      "cycle": 2026,
      "office": "senate",
      "state": "NH"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'opensecrets-org/campaign-finance/race_fundraising' \
  --options '{"cycle":2026,"office":"senate","state":"NH"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "opensecrets-org",
  "capability": "campaign-finance/race_fundraising",
  "options": {
    "cycle": 2026,
    "office": "senate",
    "state": "NH"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "opensecrets-org",
  "capability": "campaign-finance/race_fundraising",
  "options": {
    "cycle": 2026,
    "office": "senate",
    "state": "NH"
  }
}
```

## 6. Response data

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

```json
{
  "candidates": [
    {
      "cash_on_hand": 1576781,
      "incumbent": false,
      "name": "Chris Pappas",
      "party": "D",
      "profile_url": null,
      "raised": 23527314,
      "spent": 21950533
    },
    {
      "cash_on_hand": 0,
      "incumbent": false,
      "name": "Dan Innis",
      "party": "R",
      "profile_url": null,
      "raised": 41740,
      "spent": 41740
    },
    {
      "cash_on_hand": null,
      "incumbent": false,
      "name": "Edmond Laplante",
      "party": "3",
      "profile_url": null,
      "raised": 0,
      "spent": null
    },
    {
      "cash_on_hand": 100,
      "incumbent": false,
      "name": "Jared Sullivan",
      "party": "D",
      "profile_url": null,
      "raised": 83112,
      "spent": 83212
    },
    {
      "cash_on_hand": 1744538,
      "incumbent": false,
      "name": "John Sununu",
      "party": "R",
      "profile_url": null,
      "raised": 5663233,
      "spent": 3918695
    },
    {
      "cash_on_hand": 19030,
      "incumbent": false,
      "name": "Karishma Manzur",
      "party": "D",
      "profile_url": null,
      "raised": 555866,
      "spent": 536836
    },
    {
      "cash_on_hand": null,
      "incumbent": false,
      "name": "Mary Maxwell",
      "party": "R",
      "profile_url": null,
      "raised": 0,
      "spent": null
    },
    {
      "cash_on_hand": 1236,
      "incumbent": false,
      "name": "Matthew Giovonizzi",
      "party": "U",
      "profile_url": null,
      "raised": 4348,
      "spent": 3112
    },
    {
      "cash_on_hand": null,
      "incumbent": false,
      "name": "Maxwell Saal",
      "party": "D",
      "profile_url": null,
      "raised": 0,
      "spent": null
    },
    {
      "cash_on_hand": 356499,
      "incumbent": false,
      "name": "Scott Brown",
      "party": "R",
      "profile_url": null,
      "raised": 2247422,
      "spent": 1890923
    },
    {
      "cash_on_hand": null,
      "incumbent": false,
      "name": "Tejasinha Sivalingam",
      "party": "R",
      "profile_url": null,
      "raised": 0,
      "spent": null
    }
  ],
  "cycle": 2026,
  "data_source": "fec",
  "district": null,
  "note": null,
  "office": "senate",
  "page_url": "https://www.opensecrets.org/state-profiles/new-hampshire/elections?cycle=2026&race_category=senate&race_section=candidates&scope=us_congress",
  "race": "New Hampshire 2026 U.S. Senate Race",
  "requested_cycle": 2026,
  "state": "New Hampshire",
  "state_code": "NH",
  "total_raised": 32123035
}
```

## API reference-derived contract

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

### Race fundraising

- Capability: `campaign-finance/race_fundraising`
- Description: OpenSecrets campaign fundraising for one election race: every candidate (primary candidates included) with party, total raised, spent and cash on hand, for a U.S. Senate, U.S. House district or governor race in a U.S. state and cycle (default 2026 midterms). Example: New Hampshire (NH) 2026 Senate race fundraising: Chris Pappas (D) vs John Sununu (R). Federal races report FEC filings (raised, spent, cash on hand); governor races report raised only from state campaign finance disclosures, and OpenSecrets may not have the current cycle yet (then the latest cycle is returned with a note).
- Instructions: Questions like 'how much has each candidate raised in the NH Senate race', 'who is outspending whom in a House district', 'campaign money in a governor race', or who the candidates in a federal race are with their money. For one candidate's donors use race_top_contributors; for raw FEC filings use the fec-gov program.
- Cost: 5 credits per call
- Capability file: [Race fundraising](https://firecrawl.dev/alexandria/agents/providers/opensecrets-org/campaign-finance/race_fundraising)

Accepted options:
- `cycle` (number): Election cycle (even year). Defaults to 2026. When OpenSecrets has no data for that cycle yet it answers with its latest cycle and says so in note. Example: `2000`
- `district` (number): U.S. House district number, required for office=house; 1 (or 0) for an at-large seat. Ignored for other offices. Example: `10`
- `office` (string, required): senate (U.S. Senate), house (U.S. House, needs district) or governor (the state's gubernatorial race). Example: `senate`
- `state` (string, required): U.S. state as a postal code (NH) or name (New Hampshire). All 50 states. Example: `<state>`

Response schema example:
```json
{
  "candidates": [
    {
      "cash_on_hand": 1576781,
      "incumbent": false,
      "name": "Chris Pappas",
      "party": "D",
      "profile_url": null,
      "raised": 23527314,
      "spent": 21950533
    },
    {
      "cash_on_hand": 0,
      "incumbent": false,
      "name": "Dan Innis",
      "party": "R",
      "profile_url": null,
      "raised": 41740,
      "spent": 41740
    },
    {
      "cash_on_hand": null,
      "incumbent": false,
      "name": "Edmond Laplante",
      "party": "3",
      "profile_url": null,
      "raised": 0,
      "spent": null
    },
    {
      "cash_on_hand": 100,
      "incumbent": false,
      "name": "Jared Sullivan",
      "party": "D",
      "profile_url": null,
      "raised": 83112,
      "spent": 83212
    },
    {
      "cash_on_hand": 1744538,
      "incumbent": false,
      "name": "John Sununu",
      "party": "R",
      "profile_url": null,
      "raised": 5663233,
      "spent": 3918695
    },
    {
      "cash_on_hand": 19030,
      "incumbent": false,
      "name": "Karishma Manzur",
      "party": "D",
      "profile_url": null,
      "raised": 555866,
      "spent": 536836
    },
    {
      "cash_on_hand": null,
      "incumbent": false,
      "name": "Mary Maxwell",
      "party": "R",
      "profile_url": null,
      "raised": 0,
      "spent": null
    },
    {
      "cash_on_hand": 1236,
      "incumbent": false,
      "name": "Matthew Giovonizzi",
      "party": "U",
      "profile_url": null,
      "raised": 4348,
      "spent": 3112
    },
    {
      "cash_on_hand": null,
      "incumbent": false,
      "name": "Maxwell Saal",
      "party": "D",
      "profile_url": null,
      "raised": 0,
      "spent": null
    },
    {
      "cash_on_hand": 356499,
      "incumbent": false,
      "name": "Scott Brown",
      "party": "R",
      "profile_url": null,
      "raised": 2247422,
      "spent": 1890923
    },
    {
      "cash_on_hand": null,
      "incumbent": false,
      "name": "Tejasinha Sivalingam",
      "party": "R",
      "profile_url": null,
      "raised": 0,
      "spent": null
    }
  ],
  "cycle": 2026,
  "data_source": "fec",
  "district": null,
  "note": null,
  "office": "senate",
  "page_url": "https://www.opensecrets.org/state-profiles/new-hampshire/elections?cycle=2026&race_category=senate&race_section=candidates&scope=us_congress",
  "race": "New Hampshire 2026 U.S. Senate Race",
  "requested_cycle": 2026,
  "state": "New Hampshire",
  "state_code": "NH",
  "total_raised": 32123035
}
```

### Race top contributors

- Capability: `campaign-finance/race_top_contributors`
- Description: OpenSecrets top 20 contributing organizations (employers, PACs and their members, employees and families) for each candidate in a U.S. Senate or U.S. House race in a U.S. state and cycle (default 2026), with totals split into individual and PAC money. Optionally filter to one candidate by name. Example: top donors to Chris Pappas in the New Hampshire (NH) 2026 Senate race. Federal races only (FEC data).
- Instructions: Questions like 'who funds candidate X', 'top donors in the NH Senate race', 'which organizations gave most to a House candidate'. For totals raised and spent per candidate use race_fundraising.
- Cost: 5 credits per call
- Capability file: [Race top contributors](https://firecrawl.dev/alexandria/agents/providers/opensecrets-org/campaign-finance/race_top_contributors)

Accepted options:
- `candidate` (string): Optional candidate name filter, case-insensitive; every word must appear in the name (e.g. 'Pappas'). Example: `<candidate>`
- `cycle` (number): Election cycle (even year). Defaults to 2026. When OpenSecrets has no data for that cycle yet it answers with its latest cycle and says so in note. Example: `2000`
- `district` (number): U.S. House district number, required for office=house; 1 (or 0) for an at-large seat. Ignored for other offices. Example: `10`
- `office` (string, required): senate (U.S. Senate) or house (U.S. House, needs district). Example: `senate`
- `state` (string, required): U.S. state as a postal code (NH) or name (New Hampshire). All 50 states. Example: `<state>`

Response schema example:
```json
{
  "candidates": [
    {
      "name": "Chris Pappas",
      "organizations": [
        {
          "individuals": 206161,
          "organization": "American Israel Public Affairs Cmte",
          "pacs": 0,
          "rank": 1,
          "total": 206161
        },
        {
          "individuals": 54550,
          "organization": "Jane Street Group",
          "pacs": 0,
          "rank": 2,
          "total": 54550
        },
        {
          "individuals": 46900,
          "organization": "Anthropic PBC",
          "pacs": 0,
          "rank": 3,
          "total": 46900
        },
        {
          "individuals": 44916,
          "organization": "University of California",
          "pacs": 0,
          "rank": 4,
          "total": 44916
        },
        {
          "individuals": 38100,
          "organization": "Cornerstone Government Affairs",
          "pacs": 0,
          "rank": 5,
          "total": 38100
        },
        {
          "individuals": 36700,
          "organization": "Gentex Corp",
          "pacs": 0,
          "rank": 6,
          "total": 36700
        },
        {
          "individuals": 36225,
          "organization": "J Street",
          "pacs": 0,
          "rank": 7,
          "total": 36225
        },
        {
          "individuals": 35604,
          "organization": "Harvard University",
          "pacs": 0,
          "rank": 8,
          "total": 35604
        },
        {
          "individuals": 33927,
          "organization": "WilmerHale Llp",
          "pacs": 0,
          "rank": 9,
          "total": 33927
        },
        {
          "individuals": 21000,
          "organization": "Advancing Democracy & Mobilization PAC",
          "pacs": 10000,
          "rank": 10,
          "total": 31000
        },
        {
          "individuals": 30679,
          "organization": "Dartmouth College",
          "pacs": 0,
          "rank": 11,
          "total": 30679
        },
        {
          "individuals": 27238,
          "organization": "University of New Hampshire",
          "pacs": 0,
          "rank": 12,
          "total": 27238
        },
        {
          "individuals": 25605,
          "organization": "K&L Gates",
          "pacs": 0,
          "rank": 13,
          "total": 25605
        },
        {
          "individuals": 24384,
          "organization": "Alphabet Inc",
          "pacs": 0,
          "rank": 14,
          "total": 24384
        },
        {
          "individuals": 22107,
          "organization": "Brownstein, Hyatt et al",
          "pacs": 0,
          "rank": 15,
          "total": 22107
        },
        {
          "individuals": 21675,
          "organization": "Shaheen & Gordon",
          "pacs": 0,
          "rank": 16,
          "total": 21675
        },
        {
          "individuals": 21650,
          "organization": "Lieff, Cabraser et al",
          "pacs": 0,
          "rank": 17,
          "total": 21650
        },
        {
          "individuals": 21136,
          "organization": "Bain Capital",
          "pacs": 0,
          "rank": 18,
          "total": 21136
        },
        {
          "individuals": 21010,
          "organization": "Triumvirate Environmental",
          "pacs": 0,
          "rank": 19,
          "total": 21010
        },
        {
          "individuals": 21000,
          "organization": "Zinc Collective",
          "pacs": 0,
          "rank": 20,
          "total": 21000
        }
      ],
      "party": "D"
    }
  ],
  "cycle": 2026,
  "district": null,
  "note": null,
  "office": "senate",
  "page_url": "https://www.opensecrets.org/state-profiles/new-hampshire/elections?cycle=2026&race_category=senate&race_section=organizations&scope=us_congress",
  "race": "New Hampshire 2026 U.S. Senate Race",
  "requested_cycle": 2026,
  "state": "New Hampshire",
  "state_code": "NH"
}
```
