Shipped: Beacon — 85,978 government procurement officers, queryable from your AI chat
We just shipped Beacon: a buyer-side contact graph built from real solicitation history. Ask 'who's the contracting officer at NASA?' or 'what else has [email protected] posted?' and get a real answer. Here's what it is, what it isn't, and how to use it.
Every government RFP has a person behind it. A contracting officer, a procurement specialist, or — often — a group mailbox like [email protected]. They posted the solicitation. They'll answer the Q&A. They'll evaluate the proposals. Knowing who they are, what they buy, and how often, used to require either expensive Beacon/GovTribe-tier subscriptions or hours of LinkedIn detective work.
As of today, BidSparq has all of that, built from real procurement data, queryable from your AI chat or any MCP-compatible client. We call it Beacon. Here's the honest writeup.
What Beacon is, in numbers
Beacon is a contact graph derived from 1.57M historical bids and 72K active RFPs in our database. Every contact_email we've ever scraped, deduped to a canonical form, with everything we know about that person aggregated into one record.
- 85,978 distinct government procurement officers
- 100,666 contact ↔ agency relationships (some officers cover multiple agencies)
- 1,194 group mailboxes correctly tagged (like
[email protected],[email protected]) - 84,784 individual humans (the rest)
- 99% NAICS coverage — for each contact we know which NAICS codes they buy
- 1.17 agencies per officer on average — most officers stay at one agency, some cover several
That last stat matters: when an officer moves to a different agency or covers multiple bureaus, Beacon captures it. We don't have to guess — we have their actual posting history.
What you can ask
Beacon is exposed through three new AI tools in the BidSparq chat (and via MCP from Claude Desktop, Cursor, ChatGPT). Here's what they answer:
"Who's the contracting officer at [agency]?"
Open the chat and ask. Behind the scenes it calls find_agency_contacts with the agency name. Variants like "DoD," "Department of Defense," "us department of defense," and even "NASA Headquarters" all canonicalize to the same bucket — we built a 70-entry canonicalization map covering every cabinet department plus the major non-cabinet agencies (NASA, NIH, EPA, GSA, SBA, FBI, IRS, FAA, FCC, FEMA, CDC, USPS, SSA, NSF, ATF, DEA).
You get the top 25 contacts at that agency, sorted by recent solicitation activity. Each one shows name, role, kind (named individual vs. group mailbox), and how active they've been. You can filter by NAICS ("only officers who buy IT") or state ("only Texas-active") or kind ("only named humans, no mailboxes").
"Tell me about [email protected]"
The deep-dive tool, get_contact_profile, gives you everything we know about that one person:
- Their agencies (with counts per agency)
- Top 10 NAICS codes they buy under
- States their work covers
- Total solicitations posted, plus how many are active right now
- Their last 10 recent posts (titles, agencies, dates) — pulled live via our functional indexes from
historical_bidsandrfps - When they first appeared in our data, when they were last active
On the per-RFP chat (open any RFP and start a thread), this works even better — the contact email is already in the AI's context. Just ask "what else has this contact posted?" and you get a full profile.
"Tell me about [agency]"
The existing get_agency_profile tool now returns a top_contacts field alongside the existing top_vendors. So "tell me about the VA" gives you both the seller-side incumbents (top vendors by award $) and the buyer-side procurement officers — symmetric agency intelligence in one tool call.
It's in the UI too, not just chat
The AI-chat surface is where Beacon is most flexible — natural language, filters, follow-ups. But we also added two server-rendered UI surfaces for Pro Max users who don't want to open a chat:
- RFP detail page — when you view any RFP with a contact email, you'll see an inline Beacon card right below the contact: "This contact has posted 47 solicitations across 3 agencies — 2 active right now." Sub-second to render because of the indexes we built into the data layer.
- Agency profile page — visit
/agency/department-of-defense(or any agency) and you'll see a "Procurement Officers" section underneath Top Vendors. Top 10 officers at that agency with name, role, kind, recent activity.
What Beacon is NOT
This part matters. We want to be honest about scope.
Beacon is not a mass-email tool. There is zero bulk-export. No CSV dump. No "email all officers at this agency" button. The data is exposed for research, not for spray-and-pray outreach. If your sales process is "blast every contracting officer's inbox," you'll quickly find these officers' emails on their actual solicitations anyway — but you won't be doing that through BidSparq.
Beacon doesn't have vendor-side contacts. We probed our SAM.gov entity data: of 19,083 vendor records, exactly 1 has a POC email in the structured fields. SAM's bulk download strips POCs for privacy. That means we can identify the company that might be a good teaming partner (via search_vendors and find_subaward_primes), but we can't give you a specific person to email there. We'd need an external enrichment source (LinkedIn, ContactOut, etc.), and we haven't added one. Not yet.
Beacon doesn't have LinkedIn / title-history enrichment. We know what an officer has posted, not their job title from their LinkedIn profile, not their reporting structure, not their tenure. The closest we get is the role field that the original solicitation listed (about 21% of contacts have one). If you want "COR vs. CO vs. Contract Specialist," you'll often see that — but not for everyone.
Beacon doesn't do "signals." Some competitors infer things like "this officer is planning to release a major IT contract in Q3." We don't do that — yet. What we do have is the officer's actual posting history, which is the ground truth signals are derived from. Building inferred signals on top is something we're thinking about; happy to hear what would be useful.
Why this matters competitively
This is the moment we want to be direct about. GovTribe's flagship feature is called Beacon. It's a contacts/people graph plus their proprietary editorial content (Defense One, Washington Tech — owned by their parent company GovExec). That editorial layer is not reproducible — it's a structural moat from their corporate ownership.
What is reproducible is the contact graph itself. The data is right there in every government solicitation: name, email, sometimes phone, sometimes role. We built ours from 1.57M historical bids over the last several years — real ground truth, not a curated list someone hand-typed.
Our advantages are:
- Public pricing — BidSparq Pro Max is $149/month. GovTribe's Beacon is bundled into Scale/Scale+ tiers that require a sales call.
- MCP-accessible — all 49 of our tools, including the contact graph, are exposed via an MCP server you can install in Claude Desktop, Cursor, or ChatGPT. GovTribe has an MCP server too, launched in early 2026; we're publicly available with documented pricing.
- Ground-truth, not curated — every contact in Beacon was extracted from an actual solicitation. We didn't buy a list.
- Privacy posture is the product — no bulk export, no mass-mail wiring. We're deliberately not building outreach automation. If you want to know who an officer is, we'll show you. If you want to spray 80 emails at their inbox, you'll be doing that elsewhere.
A note on data quality
We did a v1.0 backfill, looked at the data, found problems, fixed them, and re-ran in v1.2. Two specific issues we caught:
Federal agency naming was split. "NASA" appeared in 10 different buckets in the raw data: national aeronautics and space administration, us nasa headquarters, us national aeronautics and space administration, plus 7 sub-center variants. After our v1.2 canonicalization, NASA is one consolidated bucket of 558 officers. Same fix for VA, DHS, NIH, EPA, GSA, SBA, IRS, and 10+ other agencies. The full 601 distinct "us X" prefix buckets are now folded into their canonical form.
System mailboxes were being counted as individuals. The DLA DIBBS system address [email protected] appeared in our raw data as a contact with 161,798 solicitations — clearly a system, not a human. Our v1.1 mailbox-detection heuristic correctly tags it, plus [email protected], [email protected], and similar system addresses. 1,194 such mailboxes are now properly labeled. The "top officers" list shows real humans like Natalya Radyk (6,733 solicitations as a DLA buyer), Stephen Weaver (3,445), Matthew Wood (1,481).
Documenting these because honest UX requires honest data, and we'd rather you know than discover them later.
How to try Beacon today
If you're on Pro Max:
- Open any RFP and look at the contact info on the right sidebar — the new Beacon card is there if the contact is in our graph.
- Visit any
/agency/[agency-slug]page (try Department of Defense or NASA) and scroll to "Procurement Officers." - Open the AI chat and ask "who's the procurement officer at [agency]?" or "tell me about [contact email]."
- If you use Claude Desktop or Cursor, the same three tools are auto-exposed via our MCP server. No client-side install needed beyond your one-time BidSparq MCP setup.
If you're on the trial, the AI chat tools work too — same gate as the rest of the chat. If you're on Free or Pro and want the inline UI surfaces, that's what the upgrade button is for.
What's next
Honest roadmap, not promises:
- Incremental ingest hook — when scrapers re-enable, new RFPs will auto-upsert contacts so the graph stays fresh. Currently it's a 2026-05-28 snapshot; the next refresh will be when ingest resumes.
- Better mailbox detection — we caught the obvious ones; some edge cases like
[email protected]still slip through because they don't match our prefix patterns. - Fuzzy dedup for typo variants —
[email protected]and[email protected]are treated as two contacts. Most aren't actual typos; some are. - Probably NOT signals inference — we'd rather give you raw solicitation history than guess what an officer might do next.
If you're using BidSparq today and Beacon would change your workflow, we'd like to hear what you'd want next. Email [email protected] or just tell the chat.
Related reading
- Contract vehicle intelligence — 64,849 federal IDVs queryable from your AI chat — vendor-side counterpart to Beacon's buyer-side data
- BidSparq vs GovTribe — full side-by-side comparison, including the original Beacon
- Using Claude or ChatGPT to monitor government RFPs — the MCP setup that exposes Beacon outside BidSparq
- How to spot a wired contract — combine contact intel with the 6 wired-risk signals
- All BidSparq features — Beacon in context with Pursuits, MCP, and the rest of the platform
Find RFPs that match your business
BidSparq monitors 2,000+ procurement sources and uses AI to score every opportunity against your capabilities. Try it free for 14 days.
Start Free Trial →