Skip to content
jobpostingsapi.com
Use Case · Vertical & Regional Job Boards6 min read·Updated 2026-11-03

Job Board Backfill API: Populate Niche Job Boards with 9.9M+ Direct ATS Postings

Solve the cold-start problem for niche job boards, VC portfolio talent networks, and community career portals using 100% redistributable direct-employer ATS roles with hourly new/updated/closed lifecycle synchronization.

1 Credit = 1 Job Record ($0.199–$0.76 / 1K Jobs) · 0 Credits for Empty Searches · 434 ATS & Career Sources

Instant Quickstart · Copy & Run in 30 Seconds

Hourly Job Board Feed Sync

Execute in Live Playground →
import requests

HEADERS = {"x-api-key": "jp_live_your_api_key"}

# 1. Fetch newly opened redistributable ATS jobs from the last hour
new_events = requests.get(
    "https://api.jobpostingsapi.com/v1/feeds/new",
    headers=HEADERS,
    params={"since": "1h", "country": "US", "limit": 50},
).json()["data"]

# 2. Fetch confirmed closed jobs to delist from your database
closed_events = requests.get(
    "https://api.jobpostingsapi.com/v1/feeds/closed",
    headers=HEADERS,
    params={"since": "1h", "limit": 50},
).json()["data"]

Key Engineering Takeaways (TL;DR)

  • ✓Default search results (include_attributed=false) contain 9.9M+ direct ATS & corporate career-site jobs with redistribution_allowed=true — no aggregator watermarks or syndication blocks.
  • ✓Keep your job board Google JobPosting schema compliant with full HTML descriptions, structured location objects, and salary ranges.
  • ✓Sync hourly additions via GET /v1/feeds/new, salary/title edits via GET /v1/feeds/updated, and delist expired roles immediately via GET /v1/feeds/closed.
  • ✓Optional +9.9M attributed global listings available via include_attributed=true with ready-to-render attribution strings.

1. Three-Endpoint Job Board Sync Architecture (Seed + Incremental + Closure)

A high-ranking job board requires fresh direct-employer listings and zero dead links. You can automate the entire lifecycle with three endpoints:

Recommended synchronization schedule for vertical and regional job boards
StepEndpointSchedulePurpose
1. Initial Category BackfillGET /v1/jobs/search?q=...&limit=100One-time on launchPopulate initial niche/industry inventory
2. Hourly New & Updated SyncGET /v1/feeds/new?since=1h & /v1/feeds/updated?since=1hEvery 1 hourIngest newly opened roles & salary updates
3. Expired Job CleanupGET /v1/feeds/closed?since=1hEvery 1 hourUnpublish filled/closed jobs so candidates never hit 404s

2. Hourly New & Closed Job Synchronization Script

Poll /v1/feeds/new and /v1/feeds/closed from a cron job or serverless worker:

Hourly Job Board Feed Sync

Ingest new remote engineering roles and purge closed job IDs:

curl "https://api.jobpostingsapi.com/v1/feeds/new?since=1h&country=US&limit=50" \
  -H "x-api-key: jp_live_your_api_key"

Interactive Engineering Workbench · GET /v1/feeds/new

Verify real-time latency, pagination math & JSON schema

5,000 jobs/day
2,000 records/day
500 checks/day
HTTP Calls / Day
570
100 jobs/page batching
ATS Sources Covered
434 Sources
1 JSON schema
Empty Search Fee
0 Credits
$0.00 for 0 results
Estimated Monthly Pipeline Cost (30 Days)
$44.78/ mo at Scale rate ($74.25 at Pro rate)
Monthly consumption: 225,000 Credits (7,500 Credits/day)
JobPostings API (Scale $0.199/1K):$44.78 / mo
Legacy Enterprise Job Feeds:$1012.50 / mo
Empty search / 4xx error fee:$0.00 (0 Credits)

Frequently Asked Questions

Can I add Google JobPosting JSON-LD structured data to jobs from /v1/jobs/search?
Yes, for all default search results (redistribution_allowed=true). Each record provides the exact title, description_html, posted_at, employment_type, company.name, company.domain, location, and salary fields required by Google Jobs schema.org markup.