Signal-based TAM

Build your TAM from live hiring signals

Filter job postings like a search, get accounts back like a market map: deduplicated companies actively hiring for the roles you care about, each with a matched-jobs count.

Trusted by the best GTM teams

Built for markets that are moving

A static TAM goes stale. Hiring activity tells you which accounts are investing right now.

Search jobs, get companies

Filter postings by title, description, AI keywords, field, seniority, employment type, work arrangement, location, and recency, then receive distinct companies, not individual jobs.

Combine both layers

Stack job-level filters with company firmographics (industry, size, headcount, HQ) so results match your ICP and are actively hiring.

Set a signal floor

Use min_per_company to keep only companies with enough matching openings: one job is noise, five is a strategy.

Cut the noise

Exclude confirmed recruitment and staffing agencies with a single flag, so your TAM contains buyers, not intermediaries.

From job filters to account list

One endpoint, POST /v2/company/tam-by-jobs, turns hiring criteria into a deduplicated market.

  1. Describe the roles

    Filter by job title, description keywords, AI-matched themes, seniority band, work arrangement, location, and how recently the job was posted.

  2. Scope the companies

    Add firmographic criteria (industry, size, headcount, HQ) and exclude staffing agencies to keep only real buyers.

  3. Set your threshold

    Floor the matched-jobs count with min_per_company so only companies hiring at meaningful volume make the list.

  4. Page the market

    Walk cursor-based pages until the cursor comes back null. Each result is a full company profile with its matched_jobs count.

JOBS INTELLIGENCE

Every jobs endpoint reads the same continuously refreshed postings layer.

API Docs
MONTH 1NOW

Frequently asked questions

How is this different from the Jobs Search API?

Jobs Search returns individual postings. TAM by Jobs runs the same job filters but returns the distinct companies behind them, deduplicated, each with a matched_jobs count, so the output is an account list, not a jobs feed.

How do the filters combine?

All filters combine with AND. Multiple values inside a single include list combine with OR: two titles return companies hiring for either role, and exclude lists remove matches.

How does pagination work?

Pagination is cursor-based: pass each response's cursor into the next request until it comes back null. When min_per_company filters heavily, a page can come back partial, so keep paging until the cursor is null.

Data shouldn't be
the problem

Grab. Connect. Build.