Developers / API reference

REST API reference

Every public endpoint, generated straight from our OpenAPI 2.5.0 spec. The 37 data endpoints need no key; the 19 feed & account endpoints take a Bearer yh_ key (Pro Publisher plan).

Base URL https://api.yubhub.co 56 endpoints openapi.yaml ↗

Authentication

Data endpoints (Health, Search, Stats) are open — no key required. Feed & account endpoints (marked auth) need your key as a Bearer token:

Authorization: Bearer yh_your_api_key

Health

1 endpoint
GET /health

Service health + deployed version

Stats

22 endpoints
GET /stats/overview

Site-wide totals

GET /stats/top-companies

Top companies by job count

GET /stats/categories

Jobs by category with experience-level breakdown

GET /stats/top-titles

Most common job titles (top 30)

GET /stats/title-trends

Week-over-week title demand changes

GET /stats/title-salaries

Salary percentiles per title

GET /stats/work-arrangements

Remote/hybrid/on-site distribution

GET /stats/experience-levels

Entry/mid/senior/executive distribution

GET /stats/salary-by-sector

Salary min/max/median by category

GET /stats/skills-matrix

Top skills with category split

GET /stats/skills-split

Required vs preferred skill counts

GET /stats/hiring-velocity

30-day hiring trend timeseries

GET /stats/hiring-intensity

Open-jobs-per-employee ratio for top employers

GET /stats/salary-transparency

Percentage of jobs disclosing salary per category

GET /stats/market-pulse

Category growth

GET /stats/market-concentration

Top-company share of total jobs per category

GET /stats/industry-momentum

Industry hiring momentum with accelerating/stable/decelerating signal

GET /stats/titles-list

All titles with ≥3 jobs (programmatic SEO feed)

GET /stats/by-title/{title}

Deep stats for a single title (companies, skills, salary, locations)

title (path)*

GET /stats/occupation-ai-exposure

SOC occupation AI exposure scores (from Anthropic telemetry)

GET /stats/skill-ai-exposure

Skill-level AI exposure scores

GET /stats/employer-showcase

Rotating employer showcase for the homepage

Feeds (authenticated)

13 endpoints · Bearer yh_ key
GET /api/feeds

List your feeds

include (query)

POST /api/feeds

Create a feed

GET /api/feeds/{id}

Feed detail

id (path)*

PATCH /api/feeds/{id}

Update feed

id (path)*

DELETE /api/feeds/{id}

Delete feed + jobs

id (path)*

POST /api/feeds/{id}/run

Trigger discovery+scrape+enrich

id (path)*

GET /api/feeds/{id}/jobs

Paginated jobs for a feed

id (path)*, status (query), page (query), per_page (query)

DELETE /api/feeds/{id}/jobs

Delete all jobs for a feed

id (path)*

GET /api/feeds/{id}/xml

Redirect to the public XML feed URL

id (path)*

GET /api/feeds/{id}/schedule

Get the feed auto-refresh schedule

id (path)*

PATCH /api/feeds/{id}/schedule

Update the feed auto-refresh schedule

id (path)*

POST /api/feeds/{id}/jobs/retry-failed

Re-queue this feed's failed jobs for enrichment

id (path)*

POST /api/feeds/{id}/jobs/reset-enrichment

Reset this feed's jobs to re-run enrichment

id (path)*

Jobs

3 endpoints · Bearer yh_ key
GET /stats/job/{id}

Full data for a single job including linked-data (Wikidata sameAs)

id (path)*

GET /stats/recent-jobs

Recent enriched job IDs (for sitemap consumers)

limit (query), offset (query)

GET /api/jobs/{jobId}

Authenticated full-data job fetch

jobId (path)*

Account (authenticated)

5 endpoints · Bearer yh_ key
GET /api/account

Account profile + usage

DELETE /api/account

Delete account

GET /api/account/usage

Current plan usage and monthly quota

POST /api/account/api-key

Generate a new yh_ API key

DELETE /api/account/api-key

Revoke current API key

Public feeds (feeds.yubhub.co)

3 endpoints
GET /facet/{type}/{slug}.xml

Free XML job feed for a facet (JBoard/SmartJobBoard-compatible) — on feeds.yubhub.co

type (path)*, slug (path)*

GET /facet/{type}/{slug}.json

Free JSON job feed for a facet — on feeds.yubhub.co

type (path)*, slug (path)*

GET /feed/{feedId}

XML feed for one employer feed (the URL shown in the dashboard) — on feeds.yubhub.co

feedId (path)*

Facets

3 endpoints
GET /stats/facets/{type}

List facet values with counts (for directory index pages)

type (path)*, min (query)

GET /stats/by-facet/{type}/{value}

Detailed data for a single facet value (paginated job list + aggregations)

type (path)*, value (path)*, page (query), perPage (query)

GET /stats/related/{type}/{value}

Related facets (cross-link suggestions for archive sidebars)

type (path)*, value (path)*

Companies

5 endpoints
GET /stats/company/{slug}

Full company intelligence profile + hiring aggregates + 11 benchmarking sections

slug (path)*

GET /stats/company/{slug}/timeseries

Per-company time series (velocity / categories / titles / geo)

slug (path)*, metric (query), weeks (query)

GET /stats/company/{slug}/peers

Same-industry peer ranking with momentum classification

slug (path)*, n (query)

GET /stats/companies/leaderboard

Cross-company rankings (accelerating, AI-exposed, hiring-velocity, exec-hires)

metric (query), limit (query), min_jobs (query)

GET /stats/companies

Company directory (list of companies with N+ live roles)

min (query)

* required parameter. Feed & account endpoints require a Pro Publisher plan.