Find agencies
Find government agencies by level, function, and tender
Public sector contact data is not hidden, it is scattered. Every agency publishes a directory somewhere, and no two publish it in the same shape.
The work here is normalization, not discovery. A city publishes a staff page, a county publishes a document, a state agency publishes an org chart, and none of them agree on what a department should be called. Crawl them into one shape and the segment you want becomes obvious.
Open Web Ninja locates the offices, Exa finds the pages describing functions and programs, and Firecrawl extracts directory and procurement pages into rows. People Data Labs resolves the agency as an employer, and Blitz API handles work email for the officials who have one.
Example searches
Ask for it the way you'd say it
Every search below runs on the same hosted Tables, with the cost previewed before anything is spent.
By level and function
county public works departments in the western united states serving more than 50,000 residents
Level and function become separate columns, so a county department is never confused with the city agency that shares its name.
Procurement pages
agencies that publish an open solicitation page for technology services
Procurement pages are extracted into rows, which tells you whether the buying route is a portal or a conversation with a person.
Named officials
find the department head and the technology lead at each of these agencies
Public directories resolve real names more often than most private companies do, though the address is frequently a role inbox.
Plays
Three motions you can run this week
Each one is a chain of Oxygen primitives — the same hosted objects your workspace already has, composed.
Normalize the directories
Twenty different directory formats become one table with the same columns.
- 1Extract each agency directory page into rows with name, title, department, and address.
- 2Promote the settled contacts onto records so the shape survives the next refresh.
oxygen search runFollow the procurement route
You know before writing whether the entry point is a portal or a person.
- 1Extract procurement pages, then tag each agency portal-led or relationship-led.
- 2Enroll only the relationship-led rows and handle the portals separately.
oxygen tables tagFunction-first segments
Public works, technology, and parks hear three messages instead of one pitch.
- 1Classify each department by function against definitions written for your product.
- 2Ground each sequence in the program language that function actually uses.
oxygen sequences draft
Who you can reach
Roles you can find at government agencies and departments
Reachability is per channel: a role marked for mobile is one the phone waterfall usually resolves, not a guarantee for every record.
| Role | Seniority | Reachable by |
|---|---|---|
| Department head | Director | Work email |
| Chief information officer | C-level | Work emailLinkedIn |
| City or county manager | C-level | Work email |
| Procurement officer | Manager | Work email |
| Program manager | Manager | Work emailLinkedIn |
| Director of public works | Director | Work email |
| Communications director | Director | Work emailLinkedIn |
Filters you can search on
- Level of government
- Function or department
- Population or area served
- Published procurement portal
- Staff directory available
- State, region, or country
- Agency size band
- Open solicitations referenced on the site
Agencies and their offices resolve reliably, and named officials are easier to find here than in the private sector. The catch is the address: many agencies publish role inboxes rather than personal ones, and mobile numbers are essentially unavailable. Plan for email and formal channels.
Data sources
What the data actually comes from
Every value lands with its provider and cost recorded on the cell.
- Op
Open Web Ninja
Office listings for agencies with a public counter or a physical address.

Exa
Finds the pages describing an agency's functions, programs, and responsibilities.

Firecrawl
Extracts staff directories and procurement pages into structured rows.

People Data Labs
The agency as an employer, with size bands and named senior staff.

Blitz API
Work-email lookup for named officials where a personal address actually exists.
Run these on Oxygen's managed credits, or connect your own provider keys and pay the vendor directly — the same columns, the same runs, the same provenance either way. See every integration.
Limits
Where this stops
- Many agencies publish role inboxes instead of personal addresses, and mobile numbers are effectively unavailable. Treat the email column as a routing address rather than a direct line to the person named beside it.
FAQ
Questions people ask first
Is public sector contact data available?
Can I see what an agency is buying?
How do you handle inconsistent department names?
Are federal agencies covered?
Can I call instead of emailing?
How current are the directories?
Build your government agencies and departments list
Start with a search, preview the cost before anything is spent, and keep the rows, sources, and runs in a workspace you own.