Iowa makes lobbyists declare For, Against or Undecided on each bill. A declaration names the group and its side, and stops there. I go through the tax returns, board rosters and campaign finance reports behind those groups and map how they connect. Each line on the map cites the document it came from.
See what the SF2470 report foundMission
The records that show who is behind a state bill are public. They sit in separate systems and are filed under names that don’t match. Delotrope pulls them together, checks each one, and cites every line, so the connections behind a bill can be read and verified.
Sample report: Iowa’s prediction markets bill, SF2470
Cedar Rapids Development Group, which is building the Cedar Crossing casino and registered Against SF2470, gave $15,000 through its PAC to Dan Dawson, the chair of Senate Ways and Means, who also sat on the subcommittee that moved the bill. Its PAC also gave to the committee’s vice chair and ranking member, two of those checks dated January 10, 2026, eleven days before the bill was introduced.
Senate vote on SF2470
Cedar Rapids Development Group PAC to the Senate Ways and Means chair, 2023 to 2025
from Kalshi, Polymarket’s company or Crypto.com to the ten legislators whose campaign committees were searched
Iowa Gaming Association board seats held by six groups on the bill
The sample covers every group that registered on SF2470: who they are, which side they took, who sits on whose board, and what their PACs gave. The Excel workbook holds the records behind it, one tab for each kind, with a source on every row.
A Python script pulls the lobbyist declarations from the Iowa Legislature’s website. The ProPublica Nonprofit Explorer API supplies the IRS tax filings.
The same group files under different names in different records. Rules and fuzzy matching in Python settle most of them. A language model sees only the uncertain pairs left over, and I confirm what it decides.
Python draws the network map from a table of ties. Each tie in the table carries its source.
I check each claim against the original filing and write the summaries myself, in a report template I built.
Send a bill number by 5 p.m. Central on a business day, and the finished report is in your inbox by 8 a.m. Central the next business day. If it is late, you don’t pay for it.
For now, prices are set by contract and quoted by email before any work starts. Posted prices will follow once the service is established.
Outside Iowa
Iowa is where the first report is. If your bill is in another state or in Congress, send me the bill number and I will tell you whether the records can be pulled.
Send a bill numberA chatbot can help you read a filing. The records are the hard part. They sit in separate government systems, the same group appears under a different name in each, and a model can state a link with confidence when no filing backs it. Every line in a report here has been checked against its source.