Skip to Content
MCPToolsSearch job openings (coming soon)

Search job openings

Search live job openings across every company in the database, filtered on the job and on the company posting it.

Tool
search_job_openings
Cost
0.3 credits per job found
Category
Source Leads
Required input
title
Returns
Job openings with company firmographics

What it does

  • Searches job openings across all companies — not just LinkedIn-sourced roles.
  • title is the only required parameter. Everything else narrows the result set.
  • Filters split into two halves: the job (title, employment type, workplace type, location, description text, posted date) and the company that posted it (size, revenue, funding, industry, location, competitors).
  • Company-side filters are the same firmographics as find_companies, applied to the hiring company. That is what makes this an account-sourcing tool, not just a job board search.

Hiring is the signal. A company posting three sales roles this month is buying sales tooling; this call finds those companies and the role that proves it, in one pass.


Use cases

  • Source accounts from hiring intent. A company posting three sales roles is standing up a team and buying the tools that team needs.
  • Qualify the job and the company in one call. Firmographic filters run against the hiring company, so the list comes back pre-qualified rather than needing a second pass.
  • Read the stack off the job description. description_keywords finds postings that name Salesforce or Outreach — technographics for free.
  • Stack funding with hiring. Companies that raised last quarter and are hiring now have both budget and an approved plan to spend it.
  • Build a territory list of live reqs. Job-country filters scope the roles to the geography a rep actually covers.

How to use it

Connect the MCP server

Follow the setup guide for your client. Browser sign-in, no API key.

Start with the title

Search job openings with the titles "Account Executive" and "Enterprise AE" in the United States, posted after 2026-07-01.

Qualify the company behind the posting

Narrow that to companies with 51-500 employees whose last funding round was series_a or series_b, and exclude staffing and recruiting industries.

Read the description for stack signal

Only keep postings whose description mentions Salesforce or Outreach.

Turn the openings into contacts

Take the hiring companies from that list and find the VP Sales and Head of Revenue Operations at each one.

Example prompts

Ask your clientWhat you get back
”AE openings in the US posted in the last 30 days”title, job_countries, posted_after
”Remote SDR roles at companies under 200 people”workplace_types, max_company_headcount
”RevOps openings at series A/B companies funded since June”last_funding_round_types plus last_fundraise_after
”Sales roles where the JD mentions Salesforce”description_keywords
”Engineering roles, nothing from staffing agencies”categories plus company_industries_exclude
”Openings at companies that compete with hubspot.com”competitor_domains
”Full-time only, no reposted listings”employment_types plus exclude_reposted
”Openings at Stripe, Ramp and Mercury”company_names or company_domains

Best prompting practices

  • title is the only required field. Start with the title, then add one filter family at a time — company filters cut hardest, so add them last.
  • Say which location you mean. “Remote roles at UK companies” is workplace_types plus company_countries, not job_countries. Getting this backwards is the most common empty result.
  • Set exclude_reposted for signal work. A repost is the same req surfacing again, not new hiring intent, and it inflates a hiring-velocity read.
  • Exclude agencies up front. company_industries_exclude on staffing and recruiting removes most of the noise you would otherwise clean by hand.
  • Use description_keywords as a technographic filter. A JD naming your competitor’s tool is a displacement play, and it costs nothing extra to filter on.
  • Dates are YYYY-MM-DD. posted_after: "2026-07-01". “Last month” will not parse — your client should convert it before the call.
  • Count openings per company, not just openings. Three open sales reqs at one account is a stronger buying signal than one req at three accounts.
  • Set limit explicitly. Default is 25. At 0.3 credits per job found, limit is the cost dial.

Output

{ "jobs": [ { "title": "Enterprise Account Executive", "employment_type": "full_time", "workplace_type": "hybrid", "location": "Austin, Texas, United States", "date_added": "2026-07-28", "url": "https://example.com/careers/enterprise-ae", "company": { "name": "Example Inc", "primary_domain": "example.com", "headcount": 240, "last_round_type": "series_b" } } ], "next_cursor": "eyJwYWdlIjoyfQ" }

Credits and limits

0.3 credits per job found, whatever filters you set. limit is 1–100 with a default of 25, so a default call costs up to 7.5 credits and a full page up to 30. A search that returns fewer openings than the cap costs less. Run check_credits (free) before a long paging run.

Cost is per result, so paging is what drives spend — three pages of 100 is 300 openings and 90 credits. Say how many openings you want up front rather than letting your client page until the cursor runs out.


Parameters

Required

ParameterTypeNotes
titlearrayJob title keywords — e.g. ["Account Executive", "Sales Development Representative"]. Any-of

Everything below is optional. Filters combine as AND across families and any-of within a single array filteremployment_types: ["full_time", "contract"] matches either, but adding job_countries narrows that set rather than widening it.

Job

ParameterTypeNotes
titles_excludearrayTitle keywords to drop — kills the near-miss roles a broad title pulls in
categoriesarrayJob category, e.g. "Sales", "Engineering" — broader than title
employment_typesarrayfull_time | part_time | contract | internship | temporary
workplace_typesarrayon_site | remote | hybrid
sourcesarrayWhere the posting was found — job board, company careers page, professional network
exclude_repostedbooleanDrop reposted roles. Set it for signal work — a repost is not new hiring intent
job_urlsarrayExact posting URLs, when you already have them

Job location

ParameterTypeNotes
locationsarrayFree-text location match — city, region or country in one string
job_citiesarrayExact city on the posting
job_districtsarrayDistrict or borough, where the posting has one
job_statesarrayState or region
job_countriesarrayCountry

Job location is the role’s location, not the company’s. A remote role at a London company can carry a US job country. Filter on company_countries when you mean where the account sits, and on job_countries when you mean where the role sits.

Job description

ParameterTypeNotes
description_keywordsarrayKeywords that must appear in the job description body — e.g. ["Salesforce", "Outreach"]
description_keywords_excludearrayKeywords that disqualify a posting

Description keywords are the cheapest technographic signal on the server: a JD that names Salesforce and Outreach tells you the stack without a find_company_techstack call.

Company

ParameterTypeNotes
company_namesarrayFuzzy, any-of
company_domainsarrayExact primary domain
company_linkedin_idsarrayLinkedIn company id
company_industriesarrayIndustry of the hiring company
company_industries_excludearrayNone-of — the fastest way to drop agencies and recruiters
competitor_domainsarrayCompanies that compete with these domains — lookalike sourcing from one known account

Company size

ParameterTypeNotes
min_company_headcountnumber
max_company_headcountnumber
company_headcount_rangesarray"1-10" | "11-50" | "51-200" | "201-500" | "501-1000" | "1001-5000" | "5001-10000" | "10001+"
min_company_followersnumberLinkedIn follower count
max_company_followersnumberLinkedIn follower count

Company revenue

ParameterTypeNotes
min_company_revenue_usdnumberMatches the estimate’s lower bound
max_company_revenue_usdnumberMatches the estimate’s upper bound
acquisition_statusesarraye.g. acquired, not_acquired — drop companies already absorbed
stock_symbolsarrayTicker, e.g. "CRM", "HUBS"

Company funding

ParameterTypeNotes
min_total_funding_usdnumber
max_total_funding_usdnumber
min_valuation_usdnumber
max_valuation_usdnumber
last_funding_round_typesarraye.g. "seed", "series_a", "series_b"
last_fundraise_afterstringYYYY-MM-DD
last_fundraise_beforestringYYYY-MM-DD
min_funding_roundsnumberNumber of rounds raised
max_funding_roundsnumberNumber of rounds raised
investorsarrayInvestor names

Funded plus hiring is the strongest pairing here: last_fundraise_after set to the past quarter, plus a title the round is obviously funding, returns accounts with budget and an open req.

Company location

ParameterTypeNotes
company_countriesarrayHQ country
company_statesarrayHQ state or region
company_citiesarrayHQ city
company_street_addressesarrayStreet address text

Dates

ParameterTypeNotes
posted_afterstringYYYY-MM-DD — when the opening was first indexed
posted_beforestringYYYY-MM-DD
updated_afterstringYYYY-MM-DD — only postings refreshed since this date
updated_beforestringYYYY-MM-DD

Paging

ParameterTypeNotes
limitnumber1–100, default 25
cursorstringFrom next_cursor on the previous response

ToolUse it instead when
search_linkedin_job_openingsYou want LinkedIn specifically — Easy Apply, applicant count, recruiter profile and resume-match scoring — 0.3 per job found
company_job_listingsYou want one company, by name or domain — 0.3 per job found
company_job_openingsYou want one company and only have its LinkedIn URL — 0.3 per job found
find_companiesYou want the accounts on firmographics alone, with no hiring signal — 0.3 per company found
job_openings_growth_rateYou want the hiring trend over time, not the openings themselves — 3 credits

Next steps

  • All MCP tools — the full catalogue with credit costs
  • Signals & ABM — workflows that turn hiring signals into an account list

Keep learning

Two courses take these tools past the reference page — clustered by GTM job, then chained into workflows.