NewSearch millions of jobs from your AI agent with MCP
Source · Gem

Gem API.

Gem has no public cross-employer jobs API, and JobsPipe does not collect Gem. This page explains what Gem exposes and how to reach the same employers through the boards JobsPipe does collect.

JobsPipe does not collect Gem. The boards JobsPipe collects today are LinkedIn, Indeed, Y Combinator, Naukri, Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever, Paylocity. A search with "source_or": ["gem"] returns no rows. This page explains what Gem exposes publicly and how to reach the same employers through the boards on the sources list.

Why people are confused about the Gem API

Gem began as a recruiting CRM and now ships an ATS. Its API is built for customers syncing candidates, sequences and pipelines inside one account, not for reading postings across every company that hires through Gem.

Gem ATS customers host public job boards on Gem-served career pages (jobs.gem.com) and as embedded boards on their own domains. There is no public cross-customer index. JobsPipe does not collect Gem. Employers that run Gem usually also post the same roles to LinkedIn and Indeed, and larger ones run Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever or Paylocity alongside it. JobsPipe collects all of those boards, so filter POST /v1/jobs/search by company_name_partial_match_or to reach them.

Workaround
Use Gem's customer API

Reads one account's recruiting data with that customer's credentials. Not a path across employers.

Workaround
Scrape Gem career pages one by one

Possible per employer you already know. Public HTML, no directory.

JobsPipe
What JobsPipe offers instead

JobsPipe does not collect Gem. Search the same employers by name across the boards JobsPipe does collect (LinkedIn, Indeed, Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever and Paylocity); sources[0].provider on each record names the board it came from.

Does Gem have an API?

Gem began as a recruiting CRM and now ships an ATS. Its API is built for customers syncing candidates, sequences and pipelines inside one account, not for reading postings across every company that hires through Gem. Gem ATS customers host public job boards on Gem-served career pages (jobs.gem.com) and as embedded boards on their own domains. There is no public cross-customer index.

What JobsPipe returns for Gem

Nothing under "source_or": ["gem"]: JobsPipe does not collect Gem. Employers that run Gem usually also post the same roles to LinkedIn and Indeed, and larger ones run Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever or Paylocity alongside it. JobsPipe collects all of those boards, so filter POST /v1/jobs/search by company_name_partial_match_or to reach them. Each record comes back with sources[0].provider, status, ghost_score, discovered_at, last_seen_at, seniority, and min_annual_salary_usd and max_annual_salary_usd when the posting states a range.

Sample request

Filtering on "source_or": ["gem"] returns no rows because JobsPipe does not collect Gem. Employers that run Gem usually syndicate the same postings to LinkedIn and Indeed, which JobsPipe does collect, so filter by company instead and let sources[0].provider tell you which board each record came from.

curl https://api.jobspipe.dev/v1/jobs/search \
     -H "Authorization: Bearer jp_live_your_key_here" \
     -H "Content-Type: application/json" \
     -d '{ "company_name_partial_match_or": ["acme"], "status": "active", "limit": 25 }'

Every record is returned in the same JSON shape regardless of the board it came from. The full schema is documented in the docs.

Skip the scraper - try the API right now

Sample data from 30+ ATS feeds and job boards in the exact live JSON shape. No key needed.

LIGWLA
LinkedIn, Indeed, Greenhouse + 30 more
Workplace
Number of results
Results

Run the search to see normalized results.

request
{
  "job_title_or": [
    "software engineer"
  ],
  "limit": 3,
  "remote": true
}

Live results are one free key away - same request against /v1/jobs/search.

Fields in every job record

idjob_titlecompanycompany_domainurldate_posteddiscovered_atlast_seen_atverified_atstatusclosed_atclosed_reasonghost_scoresenioritycitiesstate_codemin_annual_salary_usdmax_annual_salary_usdtechnology_slugskeyword_slugsesco_skillssources

FAQ

Does Gem have a public jobs API?+

No. Gem's API is per customer. Public postings live on each company's jobs.gem.com board, and Gem customers typically also post to LinkedIn and Indeed.

Does JobsPipe collect Gem?+

No. "source_or": ["gem"] returns no rows. JobsPipe collects LinkedIn, Indeed, Y Combinator, Naukri, Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever and Paylocity. Use company_name_partial_match_or in the POST /v1/jobs/search body to find a Gem customer's postings where they are syndicated.

How do I get Gem job postings without an API?+

Read each employer's public Gem careers page yourself, or search the employer by name on the boards JobsPipe collects. Each JobsPipe record carries the posting's url, status, ghost_score, discovered_at and last_seen_at, and min_annual_salary_usd and max_annual_salary_usd when the posting states a range.

Reach Gem employers through the boards JobsPipe collects - key in 30 seconds.

Get a free API key