Skip to content
Pipeline Unit Economics · 2026 Rate Card9 min read·Updated 2026-11-08

TheirStack Per-Job Credit Tiers vs High-Volume ATS Feed Pricing

Running scheduled GTM hiring-signal pipelines, Clay/n8n enrichments, or AI job aggregators? Audit how TheirStack's $200/mo expiring job credit tiers ($6.67 per 1,000 matched jobs) and separate company-enrichment credit pools compare against JobPostings API: $19/mo Starter for 25,000 full ATS job records ($0.76 per 1,000 jobs), down to $0.199 per 1,000 jobs on Scale, or $25–$300 never-expiring Pay-As-You-Go packs.

Pricing verified: November 2026 · Official public rate reference: TheirStack Official Pricing (theirstack.com/en/pricing) · JobPostings API unit rates read directly from our live billing config.

Email Sign-Up (1,500 Free Credits · No Card) →Try 3 Free Queries (No Login) →
Free Trial Sandbox$1.50 Instant (1,500 Jobs) + $2.00 Streak
Verified p50 Latency<300ms p50 (Indexed ATS & Cache)
Rate Limit (RPM / QPS)60–600 RPM (5–25 QPS)
Unit Price (1 Credit = 1 Job)$0.199–$0.76 / 1,000 Jobs

0 Credits on Empty Searches & HTTP 404 · Stripe (Card / Apple Pay / Google Pay / VAT Invoice) & 0%-fee Crypto (+5% bonus) · Remote OAuth 2.1 MCP: https://mcp.jobpostingsapi.com/v1/mcp

Instant Quickstart · Copy & Run in 30 Seconds

Drop-In Replacement for TheirStack POST /v1/jobs/search (Python, Node.js & cURL)

Execute in Live Playground →
import requests

# Before (TheirStack): POST https://api.theirstack.com/v1/jobs/search ($200/mo · $6.67/1K jobs)
# After  (JobPostings API): GET https://api.jobpostingsapi.com/v1/jobs/search ($19/mo · $0.76/1K jobs)
resp = requests.get(
    "https://api.jobpostingsapi.com/v1/jobs/search",
    headers={"x-api-key": "jp_live_your_api_key"},
    params={
        "q": "platform engineer",
        "skills": "kubernetes,python",
        "country": "US",
        "limit": 25,
    },
    timeout=15,
)
resp.raise_for_status()
payload = resp.json()

for job in payload["data"]:
    sal = job.get("salary") or {}
    print(
        job["company"]["domain"],
        "|", job["title"],
        "| skills:", job["skills"][:5],
        f"| ${sal.get('annual_usd_min')}–${sal.get('annual_usd_max')}",
    )
Test live ATS JSON right in your browser — 3 free anonymous runs, no API key required:Run 3 Free Queries in Live Playground →

Key Engineering Takeaways (TL;DR)

  • ✓TheirStack's public API tier starts around $200/month (~30,000 monthly job credits = $6.67 per 1,000 matched job records) with monthly credit expiration and a separate Company Credit pool for firmographic/technographic company lookups.
  • ✓JobPostings API starts at $19/month for 25,000 full job records ($0.76 per 1,000 matched jobs) and scales down to $0.199 per 1,000 matched jobs on Scale ($199/mo for 1,000,000 jobs) — an 88%–97% unit cost reduction.
  • ✓Single-call payload completeness (zero detail/company credit multiplier): 1 GET /v1/jobs/search call returns up to 100 full job records including HTML/plain-text descriptions, company.domain, skills[] (1,200+ tech tags), normalized USD salary bounds, and direct ATS apply URLs.
  • ✓Zero empty-query tax & non-expiring PAYG: queries returning 0 matching jobs cost $0.00 (0 Credits per API call), and one-time $25–$300 PAYG credit balances never expire (Stripe Card / Apple Pay / Google Pay + 0%-fee Crypto with +5% bonus).

1. Unit Economics Audit: TheirStack Job + Company Credit Multipliers vs Single-Call ATS Feeds

When modeling monthly job pipeline costs, engineering teams must distinguish between per-1,000-API-call quotas, per-1,000-matched-job-record deductions, and hidden secondary enrichment multipliers:

  • $200/mo Entry Cliff & Monthly Credit Expiration: TheirStack's self-serve API plan begins around $200/month for ~30,000 job credits ($6.67 per 1,000 matched job records), and unused monthly credits reset to zero at the end of each billing cycle. Teams polling only 10,000–25,000 targeted roles per month pay an effective $8.00–$20.00 per 1,000 matched jobs.
  • Dual Credit Pools (Job Credits + Separate Company Enrichment Credits): On TheirStack, POST /v1/jobs/search deducts 1 Job Credit per returned job record (e.g., 10 paginated calls × 100 jobs = 1,000 Job Credits = $6.67), while querying POST /v1/companies/search for company technographics or metadata consumes a separate Company Credit allowance. On JobPostings API, company.domain, company.slug, company.industry, and extracted skills[] are already embedded inside every returned job record at 0 extra credits.
  • Deterministic Per-Record Billing & $0.00 Empty-Search Guarantee: JobPostings API meters strictly on delivered value: 1 Credit = 1 returned job record ($0.76 per 1,000 matched jobs on $19/mo Starter; $0.199 per 1,000 matched jobs on $199/mo Scale), with up to 100 full records per HTTP GET (60–600 RPM / 5–25 QPS) and $0.00 charged per 1,000 empty API calls.
2026 Pipeline Volume & Unit Cost Breakdown: TheirStack vs JobPostings API (verified November 2026)
Monthly Job VolumeTheirStack Tier & OverageCost per 1,000 Matched JobsJobPostings API
1,500 – 3,500 matched jobs (Dev & Staging)Capped free sandbox (~200 job credits total; requires $200/mo upgrade)Free cap -> $6.67 per 1,000 matched jobs ($200/mo cliff)$0 Free Sandbox: 1,500 instant + 2,000 streak job records ($0.00 per 1,000 jobs · 60 RPM / 5 QPS)
25,000 matched jobs / mo (250 API calls @ limit=100)$200/mo API plan (~30,000 job credits/mo, expire monthly)$6.67 – $8.00 per 1,000 matched job records$19/mo Starter (25,000 job records · $0.76 per 1,000 matched jobs) or $25 non-expiring PAYG ($0.83 per 1,000 jobs)
100,000 matched jobs / mo (1,000 API calls @ limit=100)$500 – $600+/mo higher volume tier or overage packs (monthly reset)$5.00 – $6.00 per 1,000 matched job records (+ company credits)$49/mo Growth (100,000 job records · $0.49 per 1,000 matched jobs · 180 RPM / 10 QPS + /v1/feeds/*)
300,000 matched jobs / mo (3,000 API calls @ limit=100)$1,200 – $1,500+/mo high-volume tier or annual commitment$4.00 – $5.00 per 1,000 matched job records$99/mo Pro (300,000 job records · $0.33 per 1,000 matched jobs · 300 RPM / 15 QPS + 10 Webhooks)
1,000,000 matched jobs / mo (10,000 API calls @ limit=100)Custom enterprise annual contract ($3,500+/mo typical quote)$3.50+ per 1,000 matched job records (annual lock-in)$199/mo Scale (1,000,000 job records · $0.199 per 1,000 matched jobs · 600 RPM / 25 QPS)
Burst / On-Demand Backfills (Irregular Cadence)No non-expiring PAYG — unused monthly job credits forfeit at resetUp to 100% effective waste during low-volume months$25 (30K jobs) to $300 (800K jobs) PAYG ($0.375–$0.83 per 1,000 matched jobs · never expire)
10,000 Empty Domain Checks (0 Matching Jobs)Subject to API request rate & search quota limitsQuota-metered per 1,000 API calls$0.00 per 1,000 empty API calls (0 Credits deducted on 0-result searches & HTTP 404)

2. 15-Minute Pipeline Migration: TheirStack JSON Field Map & Drop-In Swap Code

Switching an Airflow DAG, Clay HTTP column, n8n workflow, or FastAPI worker from TheirStack takes less than 15 minutes. Map the JSON keys below and swap your POST request for a single GET /v1/jobs/search call:

15-minute JSON schema mapping from TheirStack POST /v1/jobs/search to JobPostings API GET /v1/jobs/search
TheirStack JSON FieldJobPostings API FieldType & Real Captured Example
POST https://api.theirstack.com/v1/jobs/searchGET https://api.jobpostingsapi.com/v1/jobs/searchIdempotent HTTPS GET · up to 100 full jobs/call (<300ms p50)
Authorization: Bearer <token>x-api-key: jp_live_... (or Bearer)Instant self-serve key minting (no credit card)
data[].id (integer)data[].idstring · "j_jj4nxynrruigoi4h"
data[].job_titledata[].titlestring · "Principal Software Engineer – Platform Engineering"
data[].company_object.domain / company_domaindata[].company.domainstring · "alpha-sense.com"
data[].final_url / urldata[].apply_urlstring · "https://job-boards.greenhouse.io/alphasense/jobs/8687641002"
data[].technology_slugsdata[].skillsstring[] · ["microservices", "aws", "kubernetes", "python", "rust"]
data[].min_annual_salary_usd / max_annual_salary_usddata[].salary.annual_usd_min / annual_usd_maxnumber · 246000 / 339000 (normalized annual USD)
data[].remote / hybriddata[].work_arrangement"remote" | "hybrid" | "onsite"
data[].date_posteddata[].posted_atISO-8601 · "2026-08-12T13:47:40.000Z"

Drop-In Replacement for TheirStack POST /v1/jobs/search (Python, Node.js & cURL)

Query verified ATS roles by keyword, tech stack skills, recency, and country — returning full descriptions, company.domain, skills[], and normalized USD salaries in one call:

curl -sG "https://api.jobpostingsapi.com/v1/jobs/search" \
  -H "x-api-key: jp_live_your_api_key" \
  --data-urlencode "q=platform engineer" \
  --data-urlencode "skills=kubernetes,python" \
  --data-urlencode "country=US" \
  --data-urlencode "limit=25"
Run 3 live queries free in your browser (no sign-up or credit card needed):Open Live Playground (3 Free Runs) →
Verified Production 200 OK JSON Response (First Record from Live Gateway Capture)
{
  "code": 0,
  "provider": "https://jobpostingsapi.com",
  "status": "ok",
  "meta": {
    "request_id": "c9071072-45ac-4ec2-b9e6-0e3023038899",
    "count": 5,
    "total": 10000,
    "total_relation": "gte",
    "has_more": true,
    "took_ms": 313,
    "redistribution_filter": "redistributable_only"
  },
  "data": [
    {
      "id": "j_jj4nxynrruigoi4h",
      "data_tier": "premium",
      "status": "active",
      "title": "Principal Software Engineer – Platform Engineering",
      "company": {
        "id": "c_qfae67uoyqmis",
        "name": "AlphaSense",
        "slug": "alpha-sense",
        "domain": "alpha-sense.com",
        "is_staffing_agency": false,
        "industry": "software_it"
      },
      "department": "Engineering",
      "location": {
        "raw": "Remote - United States",
        "country": "US",
        "remote_scope": ["US"]
      },
      "work_arrangement": "remote",
      "employment_type": "full_time",
      "seniority": "lead",
      "job_function": "engineering",
      "skills": ["microservices", "aws", "java", "kubernetes", "python", "react", "rust", "sre"],
      "salary": {
        "min": 246000,
        "max": 339000,
        "currency": "USD",
        "period": "year",
        "annual_usd_min": 246000,
        "annual_usd_max": 339000
      },
      "url": "https://job-boards.greenhouse.io/alphasense/jobs/8687641002",
      "apply_url": "https://job-boards.greenhouse.io/alphasense/jobs/8687641002",
      "source": {
        "name": "greenhouse",
        "display_name": "Greenhouse",
        "type": "ats",
        "board": "alphasense",
        "job_id": "8687641002"
      },
      "redistribution_allowed": true,
      "posted_at": "2026-08-12T13:47:40.000Z"
    }
  ]
}

3. Real-Time ATS Delta Streams (/v1/feeds/*), Live ETag Refresh & 1-Click MCP

Beyond 88%–97% lower per-1,000-job unit costs, JobPostings API gives high-throughput pipelines direct ATS lifecycle primitives without custom enterprise contracts:

  • Incremental New, Updated & Closed Streams (/v1/feeds/*): Unlocked at $49/mo Growth (or $50+ PAYG), GET /v1/feeds/new, /updated, and /closed let ETL pipelines sync delta changes across 434 ATS connectors without re-querying historical pages.
  • Live Employer ATS Verification (?refresh=true): Pass ?refresh=true on GET /v1/companies/{slug}/jobs to trigger a real-time ETag check against Greenhouse, Lever, or Ashby right before sending executive outbound.
  • Interactive Cost Modeling & 1-Click Remote OAuth 2.1 MCP: Model your exact monthly volume on /tools/job-api-cost-calculator, review the architectural benchmark on /compare/theirstack-alternative, or connect Claude & ChatGPT in 1 click at https://mcp.jobpostingsapi.com/v1/mcp.

Interactive Engineering Workbench · GET /v1/jobs/search

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

How much does TheirStack cost per 1,000 jobs compared to JobPostings API?
TheirStack's public self-serve API plan starts around $200/month for ~30,000 expiring monthly job credits ($6.67 per 1,000 matched job records, plus separate company credits for firmographic lookups). JobPostings API starts at $19/month for 25,000 full job records ($0.76 per 1,000 matched jobs), drops to $0.199 per 1,000 matched jobs on Scale ($199/mo for 1,000,000 jobs), and offers $25–$300 never-expiring Pay-As-You-Go packs.
Do JobPostings API credits expire at the end of the month like TheirStack?
Monthly subscription credits reset on your monthly billing cycle, while all Pay-As-You-Go packs ($25 for 30,000 Credits up to $300 for 800,000 Credits) never expire. You can also combine a monthly plan with a non-expiring PAYG buffer.
Do I need separate Company Credits to get employer domains and tech stack skills?
No. Every job record returned by GET /v1/jobs/search and GET /v1/companies/{slug}/jobs already includes company.domain, company.name, company.slug, extracted technical skills[] (1,200+ canonical tags), normalized annual USD salary bounds, and the direct ATS apply URL for 1 Credit per returned job.
Am I charged Credits when a company or keyword filter returns 0 matching jobs?
Never. Queries returning 0 matching job records (as well as HTTP 404, 429, or 5xx responses, plus /v1/sources and /v1/tools/ats-detector) deduct 0 Credits ($0.00).
Can I test the API right now without a credit card?
Yes. Run 3 live queries immediately with zero login in our homepage Live Playground (/#playground), or sign in with Google in 1 click to receive 1,500 Free Instant Credits ($1.50) plus up to 2,000 Sandbox Streak Bonus Credits.