Pay per job
A prepaid balance instead of a monthly plan. Each call takes what it cost off the balance, and every response says what that was.
Sign in on the pay-per-job page to start free, then add funds from your balance page. Accounts on a monthly plan are not affected.
Prices#
| What you get | Price |
|---|---|
| A job without its description | $0.000016 ($0.016 per 1,000) |
| A job with its full description | $0.00045 ($0.45 per 1,000) |
| A count | $0.0036 a call |
| An empty page, an error, and the free routes | Free |
A job is priced by what comes back, not by the route: any row with its description_text is the with-description price. GET /v1/jobs/full and POST /v1/jobs/search/full always include it, as do GET /v1/jobs/{id} and POST /v1/jobs/batch. The current list is machine-readable at GET /v1/rates, with no key.
What a response tells you#
| Header | Meaning |
|---|---|
X-Cost-USD | What this call cost, in dollars |
X-Balance-USD | What is left on your balance after it |
GET /v1/balance returns your balance as JSON and is free, like /v1/usage and /v1/meta.
When the balance runs out#
The API answers 402 before doing any work. A page that your balance can only partly pay for is trimmed to the jobs it can pay for, so you are never charged past zero.
{ "error": { "code": "insufficient_balance",
"message": "Your pay-per-job balance is $0.00. Add funds at https://jobs.arihaan.ai/pay-per-job" } }Limits#
| Pay per job | |
|---|---|
| Jobs a call | 100, with cursor paging and no depth limit |
| Calls at once | 30 |
| A search | stops at 20 seconds |
Not part of pay per job#
Each of these answers 403 outside_plan and costs nothing: company lookups and include_company; counts grouped by company; searching inside job descriptions (description, exclude_description); and more than 10 title keywords in one search. Each costs more to run than one flat price can cover. Counts grouped by country, state, city, source, experience, employment type or industry are included.