NewSearch millions of jobs from your AI agent with MCP
All posts
ChangelogWebhooks
Changelog·Apr 4, 2026·3 min read

Webhooks GA, plus 12-month historical jobs data on Pro plans

Real-time push delivery, idempotent retries, signed payloads, and a full year of back-data for trend analysis.

Dvir Atias

Dvir Atias

Founder, JobsPipe

Three things shipped in v1.2 last week. Here’s the short version with the engineering notes that didn’t fit in the changelog.

Webhooks GA

Real-time push delivery is out of beta. If you’re on the Builder plan or higher, register a webhook URL and we’ll post new and updated jobs to it within minutes of detection.

Every payload is signed with HMAC-SHA256 over the raw request body, using a secret we generate when you create the endpoint. Delivery is at-least-once with idempotent retries; we re-deliver on any non-2xx response for up to 24 hours with exponential back-off. The X-JobsPipe-Idempotency-Key header is stable across retries so you can dedupe on your side.

Twelve months of history on Pro

Pro and Scale plans now include a full year of historical jobs data. You can backfill your local index, build trend dashboards (e.g. how did Anthropic’s ML hiring change quarter over quarter), or train models on past postings.

Query it with "posted_at_gte": "2025-05-01" in the body of any /v1/jobs/search call. We expose the same JSON schema, just with an extra archived_at field on jobs that are no longer live.

Performance: search is faster now

We rebuilt the search index on top of pgvector embeddings for full-text queries. The median search response is 84ms (was 220ms last release), and we’re no longer paying the round-trip to a separate search service. The schema didn’t change - your existing queries will just feel snappier.

Try it free - monthly credits included, API key in 30 seconds.

Get a free API key
FAQs

Frequently Asked Questions

How do JobsPipe webhooks work?

Register a webhook URL on the Builder plan or higher and JobsPipe posts new and updated jobs to it within minutes of detection. Every payload is signed with HMAC-SHA256 over the raw request body, using a secret generated when you create the endpoint. Delivery is at-least-once with idempotent retries: any non-2xx response is re-delivered for up to 24 hours with exponential back-off.

How do I avoid processing duplicate webhook deliveries?

Dedupe on the X-JobsPipe-Idempotency-Key header, which stays stable across retries. Delivery is at-least-once, so the same event can arrive more than once: JobsPipe re-delivers on any non-2xx response for up to 24 hours with exponential back-off. Payloads are also signed with HMAC-SHA256 over the raw request body, so you can verify authenticity before you process anything.

How far back does JobsPipe historical jobs data go?

Every plan queries the same rolling 12-month corpus, including postings that have since closed. Filter by date with "posted_at_gte" in the body of any /v1/jobs/search call. The JSON schema is the same as live search, with a closed_at timestamp on jobs that are no longer live. Use it to backfill a local index, build trend dashboards, or train models on past postings.