OpenSecrets API: Intelligence Source Guide
OpenSecrets takes raw US federal campaign finance, lobbying and personal financial disclosure filings and codes them into industries, sectors and organisational families that make political money analysable. The coding is the product – and the coding is an editorial judgement you must understand …
OpenSecrets takes raw US federal campaign finance, lobbying and personal financial disclosure filings and codes them into industries, sectors and organisational families that make political money analysable. The coding is the product – and the coding is an editorial judgement you must understand before you cite it.
At a glance
| Source | OpenSecrets API |
|---|---|
| Category | Corporate, Ownership & Legal Records › Lobbying, Procurement & Political Finance |
| Homepage | https://www.opensecrets.org/open-data/api |
| Machine interface | https://www.opensecrets.org/api/ |
| Format | REST |
| Access | Free registration — API key at no cost |
| Disciplines | Election Intelligence, Government Intelligence |
| Mission domains | Election Security & PSYOP, Financial Crime, Corruption & Governance |
US federal campaign finance, lobbying and PAC data (candidates, donors, industries) via free-key REST API. — as catalogued in the platform’s own source registry.
OpenSecrets is a non-profit research organisation that collects United States federal political money data from primary government filings and republishes it in a form built for analysis. The raw material comes principally from the Federal Election Commission for campaign contributions, independent expenditures and committee finances; from the House and Senate lobbying disclosure systems for registrations, quarterly activity reports and contribution reports; from personal financial disclosure filings by members of Congress and senior officials; and from other public sources covering appointees, revolving-door movements and outside spending groups. What the organisation adds is standardisation: employer names are normalised into organisations, organisations are grouped into parent families, and each is assigned to an industry and a broader sector using a scheme the organisation maintains. That coding is the entire reason to use OpenSecrets rather than the FEC directly. It is what allows a question like which industries funded a given committee chair to be answered in seconds rather than after weeks of name reconciliation. The API is a REST service returning JSON or XML, keyed with a free registration, exposing methods for legislator lists, candidate summaries, candidate contributors and industry breakdowns, sector totals, committee-industry cross-tabs, personal financial disclosure summaries, independent expenditures and organisation lookups. Bulk data has historically been made available to researchers on request, which remains the route for anything at scale.
The analytical job is attribution of financial influence, and the specific thing OpenSecrets does that nothing else does is entity resolution across a corpus that the government publishes unresolved. The FEC receives what filers type. The same company appears as a dozen employer strings, subsidiaries file under their own names, and there is no identifier tying a parent to its affiliates or a trade association to its members. OpenSecrets resolves that, and the resolved view is what makes patterns visible: an industry's aggregate position across a chamber, a company family's giving across both parties, the correlation between a member's committee assignment and their donor base, the movement of a staffer to a lobbying firm that represents the interests their former committee oversees. For ELECTINT work this is the primary open collection route on United States political finance. For corruption and financial crime work it supplies the influence layer that sits behind procurement, regulatory and legislative outcomes visible in other sources. And for due diligence it answers a question clients increasingly ask – what is this company's political exposure, and to whom – in a form that can be summarised. What it is not is a source of legal conclusions. It shows money and proximity. Everything about influence is inference, and the source's own materials are careful about that even when its users are not.
Who publishes it, and why that matters
OpenSecrets is a non-profit funded by foundations, individual donors and institutional support rather than by subscriptions, and it emerged from the merger of the Center for Responsive Politics with the National Institute on Money in Politics in 2021, bringing federal and state-level money data under one roof. That funding model has two implications. Reliability is high because the organisation's reputation is its only asset and it is scrutinised by everyone whose money it describes, so errors get corrected and methodology is documented. Longevity and service levels are less certain, because a non-profit's technical infrastructure is funded from grants rather than revenue, and the API has been affected by resource constraints and reorganisation. Treat the API's current availability, terms and method list as things to verify at the point of use rather than to assume from any documentation including this guide – the organisation has changed its data access arrangements more than once and there is no contractual commitment to keep any given endpoint alive. Mission-wise, the organisation is explicitly a transparency advocate, which does not compromise the data but does shape which questions the products are built to answer. That is a reason to read the methodology, not a reason to distrust the numbers.
Provenance is the first question to ask of any dataset and the one most often skipped. Who collects it, what their incentive is, whether they publish a methodology, and whether they correct the record when they get something wrong all bear directly on how much weight a finding drawn from it can carry.
What a record actually contains
The fields you will be working with, what each one means, and whether it is something you can pivot on. Read the meanings carefully — more analysis is wrecked by misreading a field than by failing to find one, and a field that looks like an observation is often an inference.
| Field | Type | What it means | Pivot value |
|---|---|---|---|
cid |
string | The candidate identifier used across the API to reference a member of Congress or federal candidate. It is an OpenSecrets-maintained identifier and is the key you pass to nearly every candidate-focused method. | The legislator's summary, contributor list, industry and sector breakdowns and personal financial disclosure profile. |
cycle |
string | The two-year election cycle a figure covers. Almost every number in the system is cycle-scoped, and comparing a figure from one cycle with a total from another without saying so is the most common presentational error. | The same entity across other cycles, which is where trends actually appear. |
org_name / organisation |
string | The normalised organisation to which contributions are attributed. This is a constructed entity that groups employer strings, subsidiaries and affiliated PACs under one name, and it is the source's core added value. | The organisation's own summary, its industry and sector assignment, and its affiliated committees. |
industry code / catcode |
enum | The industry classification assigned by OpenSecrets to an organisation or contribution. It is an editorial coding scheme maintained by the organisation, not a government standard, and it is what makes aggregate analysis possible. | All organisations in that industry, and the industry's totals for a candidate or chamber. |
sector |
enum | The broader grouping above industry – finance, health, energy, labour, ideological and others. Useful for high-level comparison and coarse enough that important distinctions inside a sector disappear. | Sector totals across candidates and cycles. |
total / individual / PAC split |
int | Amounts attributed to a candidate, separated into contributions from individuals associated with an organisation and contributions from the organisation's political action committee. These are legally and analytically different things and conflating them misstates what happened. | none |
contributor amount and count |
int | The aggregate given and, where exposed, the number of contributions behind it. A large total from many small contributions and the same total from a handful of maximum donations mean very different things. | The underlying FEC itemised contributions, which is where the individual records live. |
party |
enum | Party affiliation of the recipient, and in aggregate views the split of an organisation's giving between parties. The split is one of the more informative single numbers about an organisation's strategy. | none |
chamber / district / state |
string | The office sought or held. Necessary for any geographic analysis and for joining to district-level election and demographic data. | Other candidates for the same seat, and the district's other federal money flows. |
lobbying registrant and client |
string | In lobbying data, the firm filing the registration and the client it represents. The distinction matters: the registrant is paid, the client has the interest, and in-house lobbying has the same entity in both roles. | The client's other registrants, the registrant's other clients, and the issues and bills named in the filing. |
lobbying issue area |
enum | The general issue codes a lobbying report covers, drawn from the statutory disclosure form. They are broad by design and disclose far less than the specific bills sometimes named in the same filing. | Specific bills and agencies named in the underlying filing text. |
revolving door / former position |
string | Where tracked, an individual's prior government service and subsequent private employment. This is compiled research rather than a filing extract and carries the organisation's own sourcing. | The agency or committee they came from and the clients their employer represents. |
personal financial disclosure asset ranges |
string | Members of Congress report assets, liabilities and transactions in broad value bands rather than exact figures, so every derived net worth is an estimate within wide bounds and should never be quoted as a point value. | The underlying filing, which names specific holdings and is more informative than the aggregate. |
independent expenditure support or oppose |
enum | For outside spending, whether the expenditure supported or opposed a candidate. Opposition spending is frequently the larger and more revealing category and is routinely dropped from summaries. | The spending committee, its donors where disclosed, and the race it targeted. |
Coverage — and what is not in it
Coverage is United States federal political money, with state-level coverage inherited from the merged National Institute on Money in Politics holdings. Campaign finance data derives from FEC filings and therefore covers what federal law requires to be itemised: contributions above the itemisation threshold with contributor name, employer and occupation; PAC receipts and disbursements; party committee activity; and independent expenditures by outside groups. Historical depth is substantial, with cycle-level data running back through several decades, which supports genuine longitudinal work. Lobbying data comes from the statutory disclosure regime and covers registrations and quarterly activity reports from the late 1990s onward, including the client, the registrant, the reported income or expenses, the issue areas and often the specific bills. Personal financial disclosure covers members of Congress and, for some series, senior executive branch officials and nominees. Update rhythm follows the filing calendar rather than the news cycle: campaign finance data arrives in bursts around quarterly, monthly, pre-primary and pre-general reporting deadlines, with independent expenditures reported far faster during the closing weeks of a campaign; lobbying arrives quarterly; personal financial disclosures arrive annually with extensions. The organisation then processes and codes it, which adds further lag – so the correct expectation is a well-organised view of a period that has closed, not a live feed.
Known blind spots
Absence of evidence here is not evidence of absence. These are the conditions under which OpenSecrets API will not show you something that is nevertheless real:
- Undisclosed spending is invisible by construction. Money routed through organisations not required to disclose their donors does not appear with its true origin, and the volume of such spending is large enough that any total described as complete is wrong.
- Sub-threshold contributions are not itemised in the source filings, so small-donor money is present in aggregate totals but absent from any contributor-level analysis, which systematically biases donor lists toward the wealthy.
- Attribution to an organisation is derived from what individuals wrote in the employer field of a contribution form. The organisation did not give the money and in most cases had no knowledge of it; the coding tells you where donors work, not who the company supports.
- Industry and sector codes are OpenSecrets' editorial judgements. Reasonable people classify differently, diversified companies fit poorly, and any finding that depends on a marginal classification decision is fragile.
- Lobbying disclosure captures registered lobbying, and a great deal of influence activity is structured to fall outside the registration thresholds and definitions – strategic advice, coalition funding, grassroots campaigns and public relations largely do not appear.
- State and local political money coverage is uneven in depth and currency compared with the federal data, and rules differ so much between states that cross-state comparison needs care.
- There is no coverage of foreign political finance whatsoever, so the source is silent on the money side of any non-US political question.
- Personal financial disclosure uses wide value bands, so wealth and conflict-of-interest analysis built on it carries uncertainty ranges much larger than the precision of the published figures suggests.
- Processing lag means the most recent weeks are the least complete, and during an active campaign the newest and most newsworthy period is exactly the one where the data is thinnest.
Write the blind spot into the product. A statement that something “was not observed in OpenSecrets API” is defensible; a statement that it “did not happen” is not, and the difference is what survives cross-examination.
Access, licensing and what you may do with it
Access model: Free registration — an account or API key, at no cost
The API requires a free key obtained by registration, passed as a query parameter, and returns JSON or XML. Method coverage is narrower than the website's, which is the first surprise for most new users: the site presents analyses built from bulk holdings that the API does not expose method-by-method, so an analyst who can see a figure on a profile page may find no endpoint that returns it. Bulk data has historically been available to researchers and journalists on request, and that route rather than the API is the correct one for systematic work. Verify current availability, method list and terms before designing anything – the organisation has restructured its data access more than once and the API has had periods of constrained availability, so any integration should degrade gracefully rather than assuming a stable service. For a single question, the website is faster and richer than the API. For repeated monitoring of a defined set of candidates or organisations, the API is appropriate. For any research programme, ask about bulk access and expect to explain what you are doing.
Licence
OpenSecrets makes data available for non-commercial and journalistic use with attribution, and has historically distinguished between that and commercial redistribution, which requires permission. The specifics have changed over time and are set by the organisation rather than by statute, so read the current terms rather than relying on a remembered version. Two practical points. Attribution is not a formality here: because the industry coding is the organisation's intellectual contribution, presenting coded figures without crediting the source misattributes an editorial judgement to the underlying government filings, which is both unfair and misleading. And the underlying government filings are themselves public domain, so if your use case cannot accommodate the terms, you can go to the FEC and the lobbying disclosure systems directly and do your own resolution – at considerable cost in effort, which is precisely the value OpenSecrets adds. Commercial products built on this data should have an explicit conversation with the organisation rather than assuming permission.
Rate limits and fair use
The API has applied per-key daily request limits, and the practical guidance is to design as though the limit is low. Cache aggressively, because the data changes on filing deadlines rather than continuously – a candidate summary refetched daily between reporting periods returns the same numbers and consumes quota for nothing. Batch your work around the filing calendar: pull after deadlines, not on a fixed schedule. Where you need many entities, consider whether the question is really a bulk-data question, because iterating an API to reconstruct a dataset that exists in bulk form is both slow and a poor use of a non-profit's infrastructure. Identify yourself, handle throttling by stopping rather than retrying, and remember that this is a small organisation's server rather than a commercial platform sized for abuse. If your usage is substantial, tell them – the relationship is likely to be more productive than the workaround.
Licensing changes, and it changes without warning. A dataset that was free for research this year may not be free for commercial or evidential use next year. Confirm the current terms before you build a dependency on it, and record the terms you relied on alongside the data — the licence in force at the time of collection is part of the provenance.
Collecting it
How OpenSecrets API is actually pulled, in the order you would set it up. Prefer the bulk or export interface over per-item lookups wherever one exists: it is kinder to the publisher, faster for you, and gives a reproducible snapshot rather than a series of point-in-time answers you cannot reconstruct later.
| Method | Format | Cadence | Notes |
|---|---|---|---|
| Candidate and legislator methods | JSON | After each filing deadline | Legislator lists by state and candidate summaries, contributor lists, and industry and sector breakdowns keyed on the candidate identifier. The core route for building a per-member money profile. |
| Organisation lookup and summary | JSON | Per cycle | Resolve an organisation name to the source's normalised entity and retrieve its aggregate giving, party split and lobbying totals. The step that converts a company name in your case file into a political money profile. |
| Committee-industry cross-tabulation | JSON | Per cycle | Contributions from a given industry to the members of a specific congressional committee. This is the single most analytically pointed method in the API and the one that most directly supports influence analysis. |
| Independent expenditure feed | JSON | Frequently during campaigns | Outside spending supporting or opposing candidates. The fastest-moving part of the corpus and the part that matters most in the closing weeks of a race. |
| Personal financial disclosure summaries | JSON | Annual | Reported assets, liabilities and transactions for members of Congress in banded ranges. Use for conflict-of-interest questions and never for point estimates of wealth. |
| Bulk research data | bulk | On request | The full coded holdings, historically available to researchers and journalists by arrangement. The only sane route for systematic or longitudinal work and worth the correspondence it requires. |
Ingesting it into the platform
Every step below is idempotent and cursor-based: interrupt one and it resumes from where it stopped rather than duplicating rows or losing progress. Collection is recorded per source, so a feed that quietly stops publishing shows up as a stale timestamp instead of silently thinning your coverage.
- Register the coded data as a derived source — sources.php records that this is FEC and lobbying disclosure material with an editorial coding layer applied, so that every downstream record carries the fact that industry attribution is an interpretation rather than a filing field.
- Preserve both the raw and the coded attribution — import.php keeps the employer string as filed alongside the normalised organisation and industry code. When a classification is challenged – and it will be – the raw string is what settles the argument.
- Scope every figure to its cycle — ingest.php refuses to store an amount without a cycle, because cycle-free totals are the mechanism by which political money numbers become misleading in reports.
- Resolve organisations into the entity graph carefully — resolve-everything.php matches normalised organisation names against companies already in the platform using corroborating identifiers where available, and flags rather than merges where only the name matches. Name-only merging of political money into a corporate profile creates confident falsehoods.
- Separate individual, PAC and outside money — The platform models contributions from individuals, contributions from an organisation's PAC, and independent expenditures as three distinct relationship types, because collapsing them produces the claim that a company gave money it never gave.
- Attach money to the legislative and regulatory record — correlate.php joins organisations here to the same organisations appearing in Federal Register dockets, procurement records and lobbying filings, so influence, spending and regulatory outcome can be viewed together in org-profile.php.
- Refresh on the filing calendar — cron.php schedules collection around FEC and lobbying disclosure deadlines rather than on a fixed daily timer, which matches when the data actually changes and conserves a constrained API quota.
- Carry the interpretive caveat into exports — export.php attaches the attribution caveat to every record leaving the platform, so a downstream consumer receives the number and the warning about what it means rather than the number alone.
Registered sources and their last-collected state are listed in sources.php, and the scheduled chain that keeps them current is in automation.php.
How it is wrong, and how to tell
Every dataset is wrong in characteristic ways. Knowing which ways is the difference between using a source and being used by one, and it is the part of source evaluation most often skipped because it is the part that takes work.
The underlying filings are as reliable as any government disclosure regime – filers face legal obligations and the FEC data is itemised and auditable – and the organisation's processing of them is careful, documented and subject to intense scrutiny from the interests it describes. Errors do occur and are corrected. Where quality becomes a question is in the layer that makes the source valuable. Employer-string normalisation involves judgement calls about whether a subsidiary belongs to a parent, whether a law firm's contributions belong to the firm or to its clients' industries, and where a diversified conglomerate sits. Industry assignment involves more. These are defensible, documented decisions rather than errors, but they are decisions, and a finding that turns on one is only as strong as that decision. The honest way to judge quality here is to distinguish three layers: the filings, which are strong; the resolution, which is good and improves the data enormously; and the classification, which is useful and interpretive. Cite the first as fact, the second as processing, and the third with attribution to the organisation that made the call.
Characteristic false positives
- The company gave money framing: contributions coded to an organisation are overwhelmingly from individuals who listed that employer, and reporting them as corporate giving is the single most common and most consequential misreading of this source.
- Cycle mixing: totals from different election cycles combined without disclosure produce figures that are individually correct and collectively meaningless, and this happens constantly in secondary reporting.
- Industry misclassification on diversified entities: a conglomerate, a holding company or a law firm can be assigned to one industry while most of its relevant activity sits in another, which distorts industry totals in ways that are invisible in the aggregate.
- Threshold blindness: analyses of donor lists describe only itemised contributions, so a candidate with a large small-donor base looks under-funded relative to one with fewer, wealthier donors when the totals may be similar.
- Undisclosed money read as absent money: an industry showing modest direct contributions may be spending heavily through vehicles that do not disclose, and the low number invites exactly the wrong conclusion.
- Lobbying totals read as influence: reported lobbying expenditure measures registered activity, and organisations differ enormously in how much of their influence work falls inside the registration regime.
- Personal financial disclosure band arithmetic: summing midpoints of wide ranges produces a precise-looking net worth with error bars wider than the estimate, and it is routinely quoted without them.
- Recency error: the most recent period is the least complete because of filing and processing lag, so a comparison between current and prior cycles taken mid-cycle will always show a spurious decline.
None of these make the source unusable. They make it a source that requires corroboration before an assertion built on it goes into a product, which is true of every source and admitted by few.
Ageing
The data ages in two distinct ways. Historical cycle data is essentially permanent: the 2016 cycle's contributions are settled, amendments have been processed, and the figures will not change materially. That part of the corpus does not go stale at all and is the right basis for longitudinal work. Current-cycle data is the opposite: it is incomplete by construction, grows in bursts at filing deadlines, and is revised as amendments arrive, so a figure pulled today for the current cycle will be wrong tomorrow in the direction of being too low. A stale record therefore looks like an unremarkable total that happens to describe a partial period. The organisational data ages differently again: an organisation's normalised identity, its industry code and its corporate family can be revised when the organisation restructures or when the classification is reconsidered, so a cached organisation profile can drift from the current one without any signal. The practical rules are to timestamp every extraction, to treat current-cycle figures as provisional in every product, and to re-pull rather than reuse organisational metadata when a finding depends on it.
What this source feeds
A source is only worth what it lets you conclude. These are the disciplines that collect through it, the mission domains it serves and the data points it yields — every one is a tag, so you can follow any thread from here into the rest of the library.
Collected by these intelligence disciplines
Serves these mission domains
Yields these data points
How each sector uses OpenSecrets API
The same dataset is worked very differently depending on who you are, what authority you hold, and what you are ultimately producing. A military analyst is supporting a commander’s decision; a journalist is meeting a publication standard; an NGO caseworker is protecting a person. The records are shared — the constraints, thresholds and outputs are not.
🎖 Military and defence
The relevance is oversight and industrial base rather than operations. Defence contractors' political contributions, their lobbying registrations and the committee memberships of the legislators receiving them describe the political environment around procurement programmes, which matters to anyone forecasting programme survival or understanding why a decision went the way it did. Revolving-door tracking between the department and industry is a recurring integrity concern with real security implications, and this is where the public record of it is assembled. Personnel in acquisition and legislative affairs roles should understand that this data is public and that their own organisation's contractors are visible in it. It is United States only, and it says nothing about defence industrial politics anywhere else.
🕵 National intelligence
For ELECTINT and for work on domestic political influence this is a core open source, and its value is in structure rather than secrets – everything in it was filed publicly, and the intelligence is in the aggregation. It supports mapping the financial relationships around a policy area, identifying which interests are engaged with which committees, and detecting changes in a sector's political posture that precede a legislative push. For foreign influence questions it is useful mainly as a baseline of domestic normality against which anomalies stand out, and it must be paired with the foreign agent registration record, which covers a different and more sensitive category. Analysts should be disciplined about the difference between money and influence: the data supports hypotheses about the second and evidences only the first.
👮 Law enforcement
Public corruption investigators use this as an open-source starting point for mapping relationships between officials, donors and interested parties, and for identifying patterns worth pursuing through process. It is lead material and context, not evidence – contributions are lawful, the coding is editorial, and any evidentiary use requires going back to the FEC filings themselves, which are the government records. The lobbying record is useful for establishing who was formally engaged on a matter and when. For campaign finance enforcement specifically, the source's resolution work can surface apparent straw-donor patterns and conduit structures faster than raw filings, but the finding must then be rebuilt from primary records before it means anything legally.
🔍 Private investigation and corporate security
Corporate clients increasingly ask about political exposure, and this source answers efficiently: which candidates and committees a company's PAC supports, which industries its employees give to, what it spends on lobbying and on what issues, and which former officials it employs. In litigation support and reputational work, an opponent's political relationships are frequently relevant context. The professional discipline is precision of language in the deliverable – employees associated with the company contributed, the company's political action committee contributed, the company reported lobbying expenditure – because a client who repeats a sloppy formulation publicly creates a problem that traces back to your report. Cite the source and the cycle in every figure.
📰 Journalism and OSINT media
This is one of the most heavily used sources in United States political journalism, which creates both opportunity and hazard. The opportunity is speed: an accurate money profile of a legislator, a race or an industry is minutes of work. The hazard is that the framing errors are well known to press critics and to the subjects, so a story that says an industry gave a member a sum without distinguishing individual from PAC money, or that mixes cycles, will be attacked on exactly that point and the substantive story will be lost. Use the coded data to find the pattern, verify the specific numbers against FEC filings before publication, name the cycle, and attribute the industry classification to OpenSecrets rather than presenting it as a fact about the filings.
🌍 NGO, humanitarian and human rights
Accountability and good-governance organisations use this to track the money around the policy areas they work on, to identify which legislators are financially connected to opposing interests, and to build the evidence base for advocacy and for coalition work. The lobbying data shows which organisations are formally engaged on a bill, which is directly actionable for campaign planning. For research products intended to influence, the credibility risk is the same as for journalism: overstated attribution language undermines otherwise sound work and gives opponents an easy rebuttal. The organisation's own methodology pages are worth reading and citing, and the non-commercial terms generally fit NGO use well, though anything approaching a commercial product needs permission.
🎓 University and research
For political science, public policy and economics this is a well-known and widely cited dataset, and the coding scheme it introduced is itself an object of study and of critique. It supports work on contribution patterns, committee assignment effects, lobbying returns and the revolving door, with historical depth sufficient for panel analysis. The methodological issues to handle explicitly are the endogeneity of industry classification to the research question, the itemisation threshold's effect on donor-level analyses, the invisibility of undisclosed spending, and the difference between the organisation's resolved entities and the underlying filing records. Bulk access is the right route for research, and the honest paper reports both the coded results and their sensitivity to the classification choices.
Playbook: working OpenSecrets API end to end
A repeatable sequence from first pull to finished product. Each phase states what you are trying to establish, not merely what to click — the objective is a defensible chain of reasoning, not a completed checklist.
Phase 1 — Decide whether you need the coding or the filings
If your question is about aggregate patterns by industry or organisation, the coded data is the point and you should use it. If your question is evidentiary, or turns on a specific contribution, go to the FEC records directly, because that is what a court, a regulator or a serious critic will look at. Many investigations need both and should plan for both from the start.
Phase 2 — Verify the current access arrangements
Before building anything, confirm what the API currently offers, what the terms currently say, and whether bulk access is available for your use. This source's data access has changed more than once, and an integration designed against outdated assumptions fails at the least convenient moment. Ask the organisation directly if your use is substantial.
Phase 3 — Resolve your entities to the source's identifiers
Take each candidate and organisation in your scope and resolve it to the identifiers the API uses, recording the mapping. Do not attempt to query by free-text name at analysis time. Where an organisation resolves to several entries or to none, note it – unresolved entities are where the interesting corporate structure usually is.
Phase 4 — Build the candidate money profile
For each legislator of interest, retrieve the cycle summary, top contributors, industry breakdown and sector totals for the relevant cycles. Read the individual and PAC split in every figure. What you are establishing is the shape of a member's financial base, not a claim about any particular decision.
Phase 5 — Cross-tabulate industry against committee
Use the committee-industry method to see how an industry's money distributes across the members of the committee with jurisdiction over it. This is the analysis this source exists to enable and it produces the clearest signal available from public data. Compare against committees without jurisdiction to see whether the pattern is distinctive or general.
Phase 6 — Layer the lobbying record on top
Pull registrations and quarterly reports for the organisations in scope, noting registrants, reported amounts, issue areas and named bills. Money and lobbying answer different questions – who has access, and who is actively working an issue – and the combination is far more informative than either. Watch for the in-house versus outside-firm distinction.
Phase 7 — Trace the people, not only the money
Check revolving-door and personal financial disclosure material for the officials and staff around your subject. Employment history connecting a committee to a lobbying client, or a holding disclosed by a member with jurisdiction over the holder's industry, is often the sharper finding and it is a different kind of evidence than a contribution.
Phase 8 — Test for what is missing
Explicitly ask whether the interests in your picture have routes to spend that do not disclose, and whether the industry's visible contributions are proportionate to its stake. A low number for a heavily affected industry is a finding that points somewhere else, not an absence of interest. Say this in the product rather than presenting the visible money as the whole picture.
Phase 9 — Anchor to the primary records before publishing
For every specific number that will appear in the finished product, verify it against the FEC or lobbying disclosure record. The coded aggregate is for finding the pattern; the primary filing is what you defend. This step is skipped constantly and is the reason so many money stories get corrected.
Phase 10 — Write the attribution language precisely
Draft each claim in the exact form the data supports: individuals who listed the company as their employer contributed, the company's political action committee contributed, the company reported lobbying expenditure of. Then check that every sentence in the product matches one of those forms. This is where credible work and embarrassing work diverge.
Phase 11 — Date and cycle everything
Every figure in the product carries its cycle and the date of extraction, and current-cycle figures are labelled provisional. This protects you when the numbers move, which for the current cycle they will, and it lets a reader reproduce your result rather than merely believe it.
Phase 12 — Preserve your extraction
Store the raw API responses and any bulk files with their retrieval timestamps. Political money data is revised as amendments arrive and classifications change, and a finding you cannot reproduce because the source updated is a finding you cannot defend against a subject who claims you got it wrong.
The platform ships this as a step-checked workflow in playbooks.php, so progress is recorded against a case rather than held in someone’s head.
What to pair it with
No single source carries a finding. These are the datasets that corroborate, extend or contradict this one — and a source that contradicts is worth more than one that agrees, because it is the only thing that will tell you when you are wrong.
| Source | Relationship | What it adds |
|---|---|---|
| Federal Election Commission | prerequisite | The primary government source for all federal campaign finance filings, with its own open API. Everything in the coded data descends from here, and this is where evidentiary verification happens. |
| FEC API | prerequisite | The government's own programmatic access to itemised contributions, committee finances and independent expenditures, without the industry coding but with the authority of the filing record. |
| Senate Lobbying Disclosure | prerequisite | The statutory lobbying registration and quarterly report filings that underlie the lobbying data, including the full text of what registrants reported and the bills they named. |
| FollowTheMoney | extends | State-level campaign finance data covering the races and offices federal filings do not reach, which is where a great deal of consequential political money actually sits. |
| USASpending.gov | extends | Federal contracts and grants to the same organisations, which is how you test whether political engagement coincides with government revenue and at what scale. |
| Federal Register API | extends | The regulatory actions that lobbying is aimed at, with dockets showing who commented. Money, lobbying and the regulatory record together are far stronger than any one of them. |
| GovInfo / Official Gazettes | corroborates | The legislative record – hearings, reports and bill text – showing what actually happened to the legislation an industry was lobbying on. |
| Foreign Agents Registration Act filings | extends | Disclosures by those acting for foreign principals, covering a category of influence activity outside the domestic lobbying regime and directly relevant to foreign influence questions. |
| Congress.gov | corroborates | Bill status, sponsorship and voting records, which is the outcome side of any hypothesis about contributions and legislative behaviour. |
Legal, ethical and operational constraints
The data derives from mandatory public disclosures, so there is no confidentiality issue in using it, but there are two real constraints. The first is the source's own terms, which distinguish non-commercial and journalistic use from commercial redistribution and require attribution; these are contractual rather than statutory and must be checked in their current form. The second is substantive and more dangerous. Political contributions are lawful activity, and characterising a contribution as evidence of corruption is defamatory in most jurisdictions unless you can support the characterisation. The professional practice is to state the financial fact precisely, attribute the classification to OpenSecrets, and separate observation from inference in the text itself. Outside the United States, the data protection position differs: these are personal data about identified individuals, and while the lawful basis for processing public disclosure data is usually available, European rules on accuracy, purpose limitation and retention apply to your processing regardless of the data's public origin. Profiling individuals by combining contribution data with other personal data raises the proportionality question squarely and should be justified before it is done.
Operational security
The API key ties your queries to a registered identity, so the organisation can see which candidates and companies you are researching. It is a transparency non-profit rather than a hostile party, and its interest in your queries is minimal, but the record exists and could be subject to legal process. More significant for most users is the website, which is public and where interactive research on a named subject leaves the ordinary web traces. For sensitive work – an investigation of a specific official, a corporate matter where the subject would learn something from knowing they were being researched – the mitigation is to obtain bulk data and analyse locally, so that your specific questions never leave your infrastructure. Where that is not possible, widen queries beyond the target and avoid patterns that isolate a single subject. Bear in mind that FEC and lobbying disclosure systems, the primary sources you will verify against, have their own logging and are government systems.
Two rules that hold regardless of jurisdiction. Collection that is lawful is not automatically proportionate, and a dataset assembled for one purpose does not carry consent for another. Where the records concern identifiable people, the question is not only whether you may hold the data but whether holding it serves the purpose you are accountable for.
Is it earning its place?
Sources accumulate. Feeds get added during an incident and are never reviewed again, and a decade later the pipeline is carrying dead weight that nobody dares remove. These are the measures that show whether OpenSecrets API is contributing anything, and they are worth baselining now so the answer is available later.
- Share of organisations in your case set that resolve to a normalised entity here, which measures how much of your corporate universe is actually visible in US political money data.
- Number of findings where the industry cross-tabulation revealed a pattern that per-candidate analysis had missed, since that aggregation is the specific reason to use this source over the FEC.
- Proportion of published figures verified against primary FEC or lobbying filings before publication, tracked as a discipline metric because it is the step that prevents corrections.
- Count of attribution-language reviews performed on draft products, and errors caught, which measures whether the individual-versus-PAC distinction is being maintained in writing rather than only in analysis.
- API quota consumption against the filing calendar, which reveals whether collection is scheduled around deadlines or wastefully polling static data.
- Frequency with which a low visible contribution total prompted an explicit search for undisclosed spending routes, since failing to ask that question is the main way analyses mislead.
- Drift between cached organisation profiles and current ones, sampled periodically, which tells you how often re-pulls are actually necessary.
Beware of volume. Indicator counts rise easily and say almost nothing. Unique contribution — findings this source produced that no other source in your stack would have — is the measure that matters, and it is usually far lower than anyone expects.
Tradecraft notes
The distinctions that separate a competent analyst from a fast one:
- Contributions coded to a company come from its employees. Say so in every sentence. The company gave is wrong, it is the criticism the source's users receive most often, and it is entirely avoidable.
- Always name the cycle. A total without a cycle is not a fact, and mixing cycles is how honest analysts produce dishonest-looking numbers.
- The itemisation threshold shapes every donor list you see. Small-donor campaigns look under-funded in contributor analyses even when their totals are comparable, and the correction is to work from summary totals as well as itemised lists.
- Industry codes are opinions with good reasons behind them. Attribute them, check the marginal cases, and never build a headline finding on a single classification decision you have not examined.
- Look for what does not disclose. An industry with a large stake and small visible contributions is telling you where to look next, not that it is disengaged.
- Read lobbying registrations for the named bills, not only for the amounts. The dollar figure is a crude proxy; the bill list is a statement of what the client actually wanted.
- Verify against the primary filing before publishing any specific number. The coded aggregate finds the story; the FEC record survives the response.
- Treat current-cycle figures as provisional in writing, not merely in your head. Readers and clients will quote them long after they have moved.
- Keep your raw extractions with timestamps. Amendments and reclassifications mean the source can legitimately change under you, and reproducibility is the only defence against a subject who says you invented a number.
Questions analysts actually ask
Did the company actually donate the money attributed to it?
Usually not in the way the phrasing suggests. Most amounts attributed to an organisation come from individuals who listed it as their employer on a contribution form, plus any contributions from the organisation's political action committee, which are legally corporate-affiliated but funded by employee contributions. The company itself generally cannot contribute directly to federal candidates. Always split individual from PAC money and describe each precisely.
Why should I use this instead of the FEC API, which is also free?
Because the FEC gives you what filers typed and OpenSecrets gives you resolved organisations and industry classifications. Doing that resolution yourself across millions of employer strings is months of work and produces a lower-quality result. Use OpenSecrets to find patterns and FEC to verify the specific records you will publish or rely on evidentially.
Is the API reliable enough to build on?
Treat it as best-effort. It is a non-profit's infrastructure funded from grants, method coverage is narrower than the website, and access arrangements have changed more than once. Build so that an outage degrades your product rather than breaking it, cache aggressively, and if your usage is substantial talk to the organisation about bulk access rather than hammering the endpoint.
Does it cover dark money?
It covers what is disclosed, which by definition excludes spending routed through organisations that do not disclose their donors. The organisation does track and publish analysis about undisclosed spending where the vehicles themselves file something, but the ultimate origin of that money is not in the data. Any statement that a total represents all the money spent on something is wrong.
How current is the data during an election?
It lags, and lags most exactly when interest is highest. Campaign finance arrives on filing deadlines and then requires processing and coding, so mid-cycle figures are incomplete and will rise. Independent expenditures report faster and are the most current part of the corpus in the closing weeks. Label current-cycle numbers as provisional in everything you publish.
Can I use this in a commercial product?
Not without checking. The organisation distinguishes non-commercial and journalistic use, which it permits with attribution, from commercial redistribution, which requires permission. The terms have changed over time so read the current ones and, if the answer matters to a business plan, ask directly. The underlying government filings are public domain if you are willing to do the resolution work yourself.
How reliable are the industry classifications?
They are careful, documented and consistently applied, and they are still editorial judgements. Diversified companies, law firms, holding structures and trade associations are the hard cases and reasonable analysts would classify some of them differently. Attribute the classification to OpenSecrets, examine the assignments underlying any headline finding, and be prepared to defend or qualify a marginal case.
Does it cover state and local money?
Partially, through the holdings inherited from the National Institute on Money in Politics after the 2021 merger, but with less depth and consistency than the federal data. State disclosure rules differ enormously, which limits cross-state comparison. For serious state-level work, check what is available for the specific states you need and expect to supplement from state disclosure agencies directly.
Can I use this as evidence of corruption?
No. It is evidence of lawful contributions, lobbying registrations and financial relationships. It can establish proximity, timing and pattern, which is legitimate and often powerful analysis, and it cannot establish a quid pro quo. Write the finding as what the money shows and keep any inference about influence explicitly labelled as inference, both because it is honest and because the alternative is defamatory in most jurisdictions.
Standards, formats and interoperability
What this source speaks natively, and what it has to be translated into before a partner can consume it. Work that arrives in a recognised format is easier to defend, easier to hand over and easier to automate against:
- Federal Election Campaign Act reporting requirements, which define what must be itemised, at what threshold and on what schedule – and therefore what the data can and cannot contain.
- Lobbying Disclosure Act registration and quarterly reporting, which sets the definitions and thresholds determining which influence activity is visible at all.
- Ethics in Government Act personal financial disclosure, which produces the banded asset and liability reporting used in conflict-of-interest analysis.
- OpenSecrets industry and sector classification, an editorial scheme maintained by the organisation and widely reused in academic and journalistic work.
- FEC committee, candidate and filer identifiers, which are the government keys underlying the source's own identifiers and the join point for verification.
- JSON and XML as API response formats, with bulk data supplied in tabular formats by arrangement.
- Election cycle scoping as the fundamental temporal unit, which every figure inherits and which must be preserved in every derived record.
References
Primary documentation and authoritative references for this source. Publishers revise and retire material, so treat the retrieval date as part of the citation and re-check before relying on any of it in a formal product.
- OpenSecrets — OpenSecrets. The organisation's site, with candidate, organisation, industry and lobbying profiles. Faster and richer than the API for any single question, and the place to see what the coded data actually supports.
- OpenSecrets API — OpenSecrets. The API landing page covering registration, available methods and current terms. Check it at the point of use rather than trusting remembered documentation, because access arrangements have changed.
- Federal Election Commission — US Federal Election Commission. The primary regulator and the source of all federal campaign finance filings. Where verification happens and where anything evidentiary must ultimately come from.
- FEC API documentation — US Federal Election Commission. The government's own open API over itemised contributions, committees and independent expenditures. Unclassified by industry, but authoritative and generously rate-limited.
- FEC campaign finance data — US Federal Election Commission. Browsable and downloadable filing data including bulk files, which is the route for building an independent corpus without the coding layer.
- Senate Lobbying Disclosure Act filings — US Senate Office of Public Records. The statutory lobbying registrations and quarterly reports themselves, including the specific bills and agencies registrants named – detail the summary data does not carry.
- FollowTheMoney — OpenSecrets. State-level campaign finance covering the offices and races federal filings never touch. Essential for any question about influence below the federal level.
- Foreign Agents Registration Act — US Department of Justice, National Security Division. Disclosures by persons acting for foreign principals, covering influence activity outside the domestic lobbying regime and central to foreign influence analysis.
- Congress.gov — Library of Congress. Bill status, sponsorship, cosponsorship and votes – the legislative outcomes against which any money-and-influence hypothesis has to be tested.
- USASpending.gov — US Department of the Treasury. Federal contracts and grants to the same organisations, showing the government revenue side of the relationship that political spending is often aimed at.
- Federal Register — Office of the Federal Register. The regulatory actions lobbying targets, with docket identifiers leading to the comments filed by the same organisations.
Link integrity: every reference above was verified with a live request when this page was generated. Where a publisher had moved or withdrawn a document, the link was repointed at a preserved copy in the Internet Archive and marked as archived. Anything with no reachable copy anywhere had its link removed rather than left to rot — the source is still credited, it simply cannot be linked.
Put it into practice
The Quantus Intel threat intelligence platform operationalises this source: it keeps the filed employer string alongside the coded industry, models individual, PAC and outside money as distinct relationships, scopes every figure to its cycle, and joins political money to the same organisations appearing in procurement and regulatory records.. Browse the full source catalogue, or follow any tag above into the rest of the library.