Skip to content
API v1 preview — endpoints and fields may change before general availability.

Coresignal

What does Coresignal contribute, and when does BetterJobs route to it?

View .md

Coresignal sells a large historical job-posting dataset, plus company and employee records. BetterJobs uses it as one of six partner providers, for job postings.

Coresignal

coresignal

Large historical job-posting dataset plus company and employee records.

Records
Job postings, company records, employee records
Postings
475M+ job postings, 70M+ active
History
Since August 2020
Recheck
Active postings rechecked within 24h
Credits
Search free; collect 1 credit per job, 20 per company or employee record

Growth includes 2 partner providers; Pro and above include all six. GET /v1/providers shows what your plan enables.

Facts per Coresignal docs.

All facts in this section are per Coresignal docs.

  • Scale. 475M+ job postings, 70M+ of them active.
  • History. Postings since August 2020.
  • Recheck. Active postings are rechecked within 24 hours.
  • Bulk delivery. JSONL, Parquet or CSV to S3, GCS, Azure or Snowflake.
  • Query power. Elasticsearch DSL and flat filters.

Coresignal job postings join the same merge as every other source. We do not list one-to-one field-name equivalents for Coresignal in the field dictionary yet, so check each job directly: the coresignal entry in sources[] lists the fields it supplied. In the spec’s illustrative async-search example, Coresignal supplied job_family to a job JobsPipe found first.

Coresignal’s company and employee records are not part of BetterJobs results. BetterJobs returns jobs and its own company hiring profiles.

Per Coresignal docs, active postings are rechecked within 24 hours. On each BetterJobs job, the coresignal entry in sources[] carries first_seen_at and last_seen_at for that source.

Per Coresignal docs, its Base API returns one row per source, with an isDuplicate flag on the copies. If you use Coresignal directly, you filter those rows yourself.

BetterJobs does this for you. Every row that describes the same opening merges into one canonical job, together with matching records from the other providers. Merged copies are free and counted in metadata.duplicates_merged. You pay for the job once.

Search is free there; estimates are free here

Section titled “Search is free there; estimates are free here”

Per Coresignal docs, search is free and collecting costs 1 credit per job and 20 per company or employee record. BetterJobs has one step, not two. To see the cost before you fetch, send the same request with dry_run: true. It returns expected_unique_jobs_range, providers_planned and credits_range, and costs nothing.

{
"filters": { "title_or": ["Head of RevOps"], "country_code_or": ["DE", "AT", "CH"], "posted_within_days": 7 },
"waterfall": { "strategy": "max_coverage" },
"limit": 100,
"dry_run": true
}

See Search jobs.

BetterJobs takes one flat filter grammar with suffix operators (title_or, country_code_or, salary_min_gte). It does not accept Elasticsearch DSL. Unknown fields return 400 unknown_filter. See Filters and Migrate from Coresignal.

Coresignal ships bulk files to your storage. BetterJobs has no bulk file delivery in v1. For large pulls, use an async search of up to 10,000 jobs, with webhook_url for search.completed.

Only when Coresignal is enabled on your plan. Then:

  • max_coverage asks it on every search.
  • cheapest_first asks it only if the BetterJobs index and earlier sources did not fill the page.
  • waterfall.providers: ["betterjobs", "coresignal"] pins it.

Check metadata.providers.tried and metadata.providers.hit to see whether it was asked and matched.

Growth includes 2 partner providers; Pro and above include all six. GET /v1/providers shows what your plan enables. See the plan table.

We do not link to Coresignal’s docs from this site. Everything you need to use Coresignal data through BetterJobs is on this page and in Migrate from Coresignal.