FMP Adds senateID for More Consistent Senate Trading Data
Names are useful for readers, but they are unreliable database keys. A senator's name can appear with a middle initial, suffix, abbreviation, or different formatting across disclosure records. FMP added the senateID field to U.S. Senate data endpoints so research and data teams can connect records to the same senator without relying primarily on a name string. The FMP developer changelog documents the field addition on May 21, 2026.
This is a schema improvement, not a change to the underlying public disclosures. It does not alter reported transaction values, dates, ownership types, or asset descriptions. Instead, it provides a more consistent senator-level key for organizing and retrieving the data available through FMP.
Key Takeaways
- senateID provides a consistent senator-level identifier across FMP's U.S. Senate data endpoints.
- The field reduces reliance on brittle name matching and manually maintained alias tables.
- Use senateID to connect records about a senator, and use the traded symbol to connect a disclosed asset to company and market data.
- The identifier improves entity resolution, but it does not correct every source-record issue or explain a senator's investment intent.
What Changed Across FMP's Senate Data
The new senateID field gives records associated with the same senator a shared identifier. Teams can retain the senator's name for display and search while storing senateID as the canonical join key in their internal data model. This separates human-readable labels from the identifier used to aggregate records over time.
The change is most useful when a workflow moves among several Senate datasets. If an analyst starts with a name, the Senate Trades By Name API can serve as the discovery step. Once the response returns the relevant senateID, the workflow can retain that identifier and use the Senate Trades By ID API for subsequent member-level retrieval instead of repeating name-based matching.
The Senate Profiles API supplies profile context such as party, state, position, and years active. Using a consistent senator identifier across profile and activity records makes it easier to maintain a normalized senator table and connect it with transaction data. Teams should still inspect the response schema and validate identifier coverage for each endpoint and historical period they use.
How senateID Changes the Joining Logic
The identifier solves a senator-level matching problem. It does not replace the security identifier attached to a disclosed trade. Keeping those two relationships separate prevents a common cross-dataset error.
|
Data task |
Correct key or endpoint |
Role in the workflow |
|
Find Senate trade records when only a name is known |
Use as a discovery step, then retain the returned senateID. |
|
|
Retrieve trade records for one senator |
senateID through the Senate Trades By ID API |
Supports member-level retrieval without repeatedly matching a name string. |
|
Review Senate activity for a traded security |
symbol through the Senate Trading Activity API |
Filters activity by the disclosed security rather than by the senator. |
|
Add senator profile context |
senateID with Senate profile data |
Connects activity records with party, state, position, and years active. |
|
Add company or market information |
Traded symbol with company profile and historical price data |
Connects the disclosed asset to company attributes and historical market data. |
The Senate Trading Activity API is organized around the traded security and can retrieve Senate activity for a symbol such as AAPL. Within those transaction records, senateID identifies the reporting senator. The two fields therefore answer different questions: who reported the trade, and which security did the disclosure reference?
For downstream enrichment, the traded symbol can connect the asset to the Company Profile Data API or the Historical End-of-Day Price API. The senateID should remain attached to the senator entity and the transaction record. It should not be used as a security key or treated as a substitute for the ticker.
Why Stable Senator Matching Matters
Name-based matching becomes increasingly fragile as a database grows. Minor differences in punctuation, initials, suffixes, spelling, or source formatting can split one senator's records into multiple entities. Custom alias tables can reduce that problem, but they require maintenance and may still miss new variations.
A consistent senateID lowers that maintenance burden. It supports cleaner longitudinal aggregation, reduces the likelihood of duplicate senator entities, and makes scheduled data refreshes less dependent on custom text-normalization rules. The result is a more defensible data model for governance research, disclosure monitoring, and internal analytical tools.
This improvement is especially relevant when researchers compare activity across multiple years or legislative cycles. A stable senator-level key makes it easier to keep identity consistent even when display names or related profile attributes change. It also makes validation more direct because teams can test whether each expected senateID maps to one internal senator entity.
Validation Rules for Production Workflows
Adding a stable identifier improves entity resolution, but it does not remove the need for data-quality checks. Teams incorporating senateID should:
- Confirm that the field is populated for the endpoints and historical periods used by the workflow.
- Preserve the original senator name and source-record values for traceability.
- Flag missing, malformed, or unexpectedly duplicated identifiers for review.
- Keep senateID and symbol in separate fields with separate joining responsibilities.
- Distinguish the transaction date from the disclosure or filing date when aligning records with market data.
These checks prevent the identifier from becoming a false guarantee of record quality. Public disclosures can still contain corrections, inconsistent descriptions, estimated value ranges, or missing information. The field improves how records are connected, but analysts remain responsible for validating the source data and the assumptions used in any downstream analysis.
A Cleaner Foundation for Senate Disclosure Research
The senateID update gives FMP users a more reliable way to organize U.S. Senate data around the reporting individual. It reduces dependence on name-based matching, supports cleaner member-level retrieval, and clarifies the boundary between senator identity and security identity. For teams maintaining research databases or recurring disclosure workflows, that distinction can reduce manual cleanup and make longitudinal analysis easier to audit.
Before changing a production schema, review the relevant endpoint response and the latest FMP developer updates. Teams testing the workflow for the first time can use the FMP API Quickstart to confirm authentication and request structure before adding senateID to an existing pipeline.
FAQs
What is senateID?
senateID is a consistent identifier for a U.S. senator across FMP's Senate data endpoints. It gives data teams a senator-level key that is less fragile than matching records by the displayed name alone.
Does senateID replace the senator's name?
No. The name remains useful for display, search, and source-level traceability. Use senateID as the canonical senator join key while retaining the name as an attribute of the record.
Does senateID connect a disclosed trade to company data?
No. senateID identifies the senator. The traded symbol connects the disclosed asset to company profiles, historical prices, and other security-level datasets.
Can senateID be used to track legislators across the House and Senate?
Treat senateID as a Senate-specific identifier. Do not assume that it provides a cross-chamber identity match unless a documented endpoint and returned data explicitly establish that relationship.
Is senateID available across all historical records?
The FMP changelog describes the field as supporting connections across Senate endpoints and historical records. Teams should still inspect the returned data and validate coverage for the exact endpoint and historical period their workflow uses before assuming that every record is populated.
Does this update change the disclosed transaction data?
No. The identifier does not alter the transaction amount, asset type, transaction date, filing date, or other values reported in the underlying disclosure. It improves how records associated with the same senator can be connected.

Risk analysis and financial modeling for data-driven market workflows
Parth Sanghvi is a Senior Risk Consultant with experience in financial modeling, valuation, and risk analysis. For FMP, he focuses on translating complex market data and risk models into clear, accessible analysis for developers and investors. His work centers on helping readers understand how institutional-grade financial data applies to real-world workflows and decision-making.
Financial data for every need
Real-time quotes and 30+ years of historical data, including prices, fundamentals, and insider transactions — all accessible via API.
Create Free Account