Skip to main content
AI Studio  add-on for Spider.
fec.gov · HTTP 200

FEC Scraper

Spider read fec.gov in 145 ms without a browser and returned 98 lines of clean markdown, including sections like "Your web browser is not supported", "Protecting the integrity of the campaign finance process" and "News and announcements".

Get your free API key
Free balance on signup No card. Failed requests cost $0.
Response fec.gov/index.md markdown · 98 lines
## Your web browser is not supportedThis site uses features that are not supported by this browser. For a better experience, please switch to a modern browser.## Protecting the integrity of the campaign finance process* ## Search all campaign finance dataResearch federal election data and its relevance across the country.* ## Help for candidates and committeesHelp for individuals and groups who are active in federal elections.Explore relevant statutes, regulations, Commission actions and court cases.## News and announcementsFEC to host September 16 Independent Expenditures and Pre-Election Communications Webinar (2026)Can my campaign accept LLC contributions?Statistical Summary of 15-Month Campaign Activity of the 2025-2026 Election Cycle## Events and deadlinesUnderstand ways to support federal candidatesLearn more about using the FEC's campaign finance dataFind election results and voting information## Who is raising and spending the mostLearn how much individual candidates have raised and spent for presidential, Senate and House elections.* Browse top raising candidates# CommissionersCommissioner Acting as Chair
Code · Fields · Cost · Run it keyless, no account

The same call, in code.

The capture above came back as markdown. These examples add a key, so you get browser rendering, proxies, and concurrency on fec.gov.

fec-scraper.ts
import { SpiderBrowser } from "spider-browser";

const spider = new SpiderBrowser({
  apiKey: process.env.SPIDER_API_KEY!,
});

await spider.connect();
const page = spider.page!;
await page.goto("https://www.fec.gov/data/candidates/senate/?is_active_candidate=true");

// No selectors, no schema. Spider reads the page and names the fields.
const data = await page.scrape();

console.log(data);
await spider.close();
ready to run · spider-browser, no selectors

Ready for volume? Get an API key →

Fields you can pull.

Candidate namePartyTotal receiptsTotal disbursementsCash on handDebtsFiling dateCommittee ID

Spider names these from the page. The capture above came back as markdown; the same call with return_format: "json" returns them as keys.

What fec.gov costs to scrape.

The capture above cost $0.000073 to fetch. Pricing is $1 per GB of pre-transformation bandwidth plus $0.001 per CPU minute, so a page like this one lands at a fraction of a cent. Failed requests are billed at $0.

  • Free balance on signup
  • No card required to test
  • Balance never expires
See the full pricing →

Run it keyless, no account

curl -X POST https://api.spider.cloud/scrape -H "Content-Type: application/json" -d '{"url": "https://fec.gov/", "return_format": "markdown"}'

More Government & Legal scrapers.

Start scraping fec.gov.

You already have the call. A key raises the rate limit and turns on browser rendering, proxies, and concurrency. Balance never expires, and top-ups go through secure checkout.