REST API
Count job postings
Free.
POST
/v1/jobs/countParameters
querystringoptionalfull text over the title and the posting’s text (responsibilities, requirements, about us …); every word must occur
titlestringoptionalwords that must be in the job title (e.g. ‘salesforce administrator’)
status"open" | "closed" | "all"optionalopen (default) | closed (taken-down postings, with closed_at) | all
filtersobjectoptionalexclude_filtersobjectoptionalcompany_filtersobjectoptionalCOMPANY JOIN: company facets (list_filters — country, headcount, vertical, tech, …) and the jobs company filters (uses_tech, hiring_for, has_intent, hiring_flag): only postings of companies that match (≤50,000 companies)
company_exclude_filtersobjectoptionalsame shape, negated
exclude_listsstring[]optionalids of your exclusion lists (get_lists) to apply to this call (up to 20 items)
exclude_domainsstring[]optionalextra domains/URLs/e-mails to keep out of this call’s results (up to 1000 items)
within_listsstring[]optionalids of your lists (get_lists, any kind) to search INSIDE: only companies on at least one of them — e.g. narrow last week’s export or your CRM accounts (up to 10 items)
clientstringoptionalAGENCIES: which of your clients this call is for (e.g. ‘acme’). That client’s always-exclude lists apply on top of your organization-wide ones — never another client’s. Set once per client conversation.
group_by"country" | "city" | "workplace" | "employment_type" | "source" | "lang" | "domain" | "title_clean" | "function" | "family" | "seniority" | "work_category" | "role_tags" | "tech" | "intent"[]optional(up to 2 items)
group_sizeintegeroptional(min 1, max 100)
What your agent reads
The tool description exactly as an MCP client receives it in tools/list — it doubles as the full behaviour of the endpoint.
Free. How many OPEN postings (or closed / all, by `status`) and companies match, and — with `group_by` (≤2) — how they
split: by country, city, workplace, employment_type, source, lang, domain (top hiring companies), title_clean, function,
family, seniority, work_category, role_tags, tech, intent. Same filters, query, title and company join as search_jobs.
`filters` / `exclude_filters` on POSTINGS (any of a list): country (ISO-2, any of the posting's countries), city, admin1,
workplace (onsite|hybrid|remote), employment_type (full_time|part_time|contract|temporary|internship|apprenticeship|freelance|
volunteer|other), lang, source (ATS), domain, title_clean, salary_eur_year_min, has_salary, posted_within_days,
first_seen_within_days, closed_within_days (status closed|all); role classes (Role Tree v2 — list_filter_values field='job_function'|'job_family'|'job_seniority'|
'work_category'|'role_tag'): function, family, seniority (training|unpaid|entry|mid|senior|manager|director|vp|partner|cxo|owner;
absent = unspecified), work_category, role_tags, title_canonical; tech (catalogue slugs,
list_filter_values field='tech' — mentions in the posting, benefit/apply boilerplate excluded); intent (predicates,
list_filter_values field='intent').
- `status`: open (default — live postings) | closed (taken down; history from 2026-10-21, `closed_at` set) | all.
Errors follow one format.