Pricing
Clean schema on every plan.
Normalized taxonomy, structured locations, and dedup clusters ship on the free tier. Pay only when you need higher volume, paid filters, or full descriptions.
Compare every plan
| Feature | Free | Starter | Growth | Scale |
|---|---|---|---|---|
| Limits | ||||
| Monthly requests | 5,000 | 200,000 | 2,000,000 | 10,000,000 |
| Requests / minute | 10 | 60 | 300 | 600 |
| Max page sizelimit parameter | 100 | 100 | 100 | 200 |
| Filters | ||||
| Basic filterstitle · company · location · source · remote_only | ✓ | ✓ | ✓ | ✓ |
| posted_after / posted_before | ✓ | ✓ | ✓ | ✓ |
| updated_sincedelta sync | ✓ | ✓ | ✓ | ✓ |
| country | ✓ | ✓ | ✓ | ✓ |
| Salary filterssalary_min · salary_max · currency | — | — | ✓ | ✓ |
| role_category / seniority | — | — | ✓ | ✓ |
| Response fields | ||||
| Normalized taxonomyrole_category · seniority · structured location · dedup cluster | ✓ | ✓ | ✓ | ✓ |
| description_html | — | ✓ | ✓ | ✓ |
| structured_description | — | — | — | ✓ |
| Pagination | ||||
| Offset paginationoffset + total | ✓ | ✓ | ✓ | ✓ |
| Cursor paginationstable by id, for mirrors | — | — | ✓ | ✓ |
Questions
Do you include LinkedIn?+
No. We pull first-party from 13 applicant tracking systems only — never LinkedIn or scraped aggregators. Every record carries the original posting URL on the company's ATS, so the data is attributable.
How fresh is the data?+
Sources are scraped on a 30-minute cadence. A posting stays in the active window for 21 days after we last saw it live; once it rolls out, its status flips to "removed" rather than vanishing, so your mirror can reconcile.
What's your salary coverage?+
Only about 15–25% of postings disclose salary — most employers simply don't publish it. When the source omits it we leave the salary field null. We never fabricate or estimate it.
Can I cancel?+
Yes, any time, from the Stripe billing portal in your dashboard. Cancellation takes effect immediately and you keep access through the end of the period you've paid for.
What happens when I hit my limit?+
You get a 429 response with a Retry-After header telling you when the window resets. You can upgrade your plan from the dashboard at any time to raise the cap immediately.