Signals and intent
Hiring signals that tell you who is building what
A company hiring three account executives is telling you something it will not put in a press release. The search lands that evidence as dated rows you can work.
Hiring is the cheapest honest signal in B2B. A team posting its first sales hire has decided to build a pipeline function. The value is not the posting, it is knowing whose it is and when it appeared.
Here is what that looks like today. The search routes your filters to a job-search provider and writes the matches into a hosted table you own: a row per company, the postings that matched, the date the source saw them. Those rows stay queryable next month. They are not yet a typed event a workflow can subscribe to, so the table and its cadence are the feed.
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.
First sales hire
show me seed and series A saas companies that posted their first account executive role in the last 30 days
Each match lands as a company row with the posting title, the date, and the lane that found it.
Budget for your category
watch for companies hiring a head of revenue operations and add them to a table with headcount
The postings land next to firmographics in one table, so the qualifying pass reads a single row.
Stack-adjacent hiring
tell me when a company posts a data engineer role and already runs a warehouse I integrate with
Pairing a hiring row with a technographic column cuts the list to accounts you can already serve.
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.
Hiring row to a warm first line
A new posting becomes an enrolled contact with a specific reason to write.
- 1Run the search into a table so matched companies and their postings arrive as rows you keep.
- 2Find who owns the role with a people search at those companies, then enroll naming the hire.
oxygen signals search runRerank the pipeline you already own
Accounts you already track move up or down on what they are staffing this quarter.
- 1Point the search at the accounts you hold, then cross-check the matches against your account table.
- 2Score the row on role family and recency, then promote the shift onto the company record.
oxygen tables queryA weekly list, not a weekly search
One short ranked list each week instead of somebody rerunning a query on a Monday.
- 1Bind the search to the table with a cadence and a per-cycle ceiling you approve at bind time.
- 2A workflow fires on the rows that landed, applies your filters, and enrolls only what clears them.
oxygen signals search run --bind-feed --every weekly@mon9
Capabilities
What you get
Rows you keep, not an alert
Every match is written into a hosted table with the posting, the date, and the lane behind it. Last month's matches are still there to query.
Yours to join and enrich
The rows sit beside whatever else you have put on that account. Binding a match to a company record is a step you take, not one the harvest performs.
Filters that match your ICP
Role family, seniority, location, headcount, funding stage, and posting age narrow the feed before it costs anything.
A cadence with a ceiling
Bind a search to a table and arm a cadence. Every cycle carries the credit cap you approved when you bound it.
Boundaries
What Signals does not own
A hiring search is Signals sourcing; what it writes is Tables. Nothing here sends, which is Sequences, and a matched company becomes canonical only when you promote it onto Records.
Data sources
What the data actually comes from
Every value lands with its provider and cost recorded on the cell.

Blitz API
The default job-search head. One structured request returns distinct company rows with the postings that matched.

TheirStack
The named metered alternative for hiring, and the lane that turns a role or technology label into something a search can filter on.
PredictLeads
Company events beside the postings: funding, technology, and dated news, for the context that says whether a hire is growth or replacement.

Crustdata
Outside the default chain and priced out of it, still selectable by name when you want headcount movement attached to a posting.
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
- A hiring search lands rows you can query, enrich, and enroll from. It does not yet emit a typed event a workflow can subscribe to, so the schedule and the table are what make it a feed.
- A posting is evidence of intent, not a budget decision. Treat it as the reason to write this week, not as proof anybody has been given money to spend.
FAQ
Questions people ask first
How fresh are hiring signals?
Can I turn a hiring match into outreach automatically?
What if a posting names a company I do not hold?
Does this replace a job board scraper?
What does it cost to watch a feed?
Can I combine hiring with other signals?
Run hiring signals that tell you who is building what on your own workspace
Sign up, get a working workspace with a one-time credit grant, and run the first play from the web app, the CLI, or your AI assistant over MCP.