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
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 keyFrequently 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.

