Sponsored Jobs API integration guide for bonus-credit campaigns
Sponsor jobs in special campaigns with bonus credits from an Indeed Annual Deal Agreement.
Unless you have a written agreement with Indeed regarding your use of Indeed's APIs, by using this API or its documentation, you agree to apply the Indeed API Terms and the Additional API Terms and Guidelines to your use of Indeed's APIs.
Integration overview
Use bonus sponsored job credits in an Indeed Annual Deal to sponsor jobs in designated campaigns. When Indeed adds credits to your advertiser account, it creates the campaigns for you.
As of 2026-01-19, the Sponsored Jobs API lets you view bonus-credit balances, identify bonus-credit campaigns, monitor per-job budgets, and update job selection queries.
Summary of changes
| Endpoint | Change type | Description |
|---|---|---|
Get credit allocation and balance | New | Gets an advertiser's total and remaining bonus sponsored job credits. |
List employer campaigns and statuses | Enhanced | New
|
Get general campaign information | Enhanced | Includes these fields automatically:
|
Get campaign budget and duration | Enhanced | For bonus-credit campaigns, includes the |
Update general campaign information | Enhanced | Adds job selection criteria for bonus-credit campaigns. |
Integration recommendations
-
For list employer campaigns and statuses queries:
- To filter or display bonus-credit campaigns, include
FundingSourceinfields. - To identify bonus-credit premium campaigns, include
SponsorshipPlan. - For complete classification, include both.
- To filter or display bonus-credit campaigns, include
-
For get general campaign information, both fields are always present, so no special handling is needed.
- An empty string (
"") inFundingSourcemeans a regular campaign. - An empty string (
"") inSponsorshipPlanmeans a standard-tier campaign.
- An empty string (
-
Use cases:
- Filter and display bonus-credit campaigns separately.
- Identify bonus-credit premium tier campaigns.
Integration steps
1. Prerequisites
Before you integrate, verify that you have:
- An active Annual Agreement with Indeed
- OAuth 2.0 credentials with employer scope
- A US-based advertiser account, because the initial release is US-only
- Credits that your Indeed Customer Service team allocated to your advertiser account
2. Get campaign budget quote
Before an employer creates an average daily budget (ADB) campaign, use this endpoint to get recommended daily budgets for each job and a campaign-level average daily budget.
| Verb | Endpoint | Reference |
|---|---|---|
POST |
| Get campaign budget quote |
The response includes the average budget quote for the sponsorship plan, a quote for each matched job, and recommendations for the STANDARD and PREMIUM tiers.
The recommended daily budget is a target, not a guarantee. Indeed optimizes toward it, but daily spend varies. For example, with a $25 average daily budget, spend might be $20 on day 1 and $30 on day 2.
Calls to this endpoint are not charged under the Sponsored Jobs API usage policy.
- Wait 2 to 3 hours after posting new jobs before you create a campaign.
- Create the campaign within 1 hour of the budget recommendation call. After that, market conditions can change, and campaign creation uses the latest recommended budgets.
- Jobs added manually, or automatically through query-based job resolution, use their recommended budgets as the default daily spend.
Request:
curl -L -X POST 'https://apis.indeed.com/ads/v1/campaignbudgetquote' \-H 'Content-Type: application/json' \-H 'Accept: application/json' \--data-raw '{ "jobsQuery": "title:\"financial analyst\" AND city:(toronto OR \"new york\")", "jobsTitle": "Healthcare Intern", "jobsCompany": "Indeed", "jobsLocation": "Austin, TX", "jobsLocationRadius": 25, "jobsSourceId": "8977ac341a3c4527", "jobsSourceName": "CompanyABC", "jobsToInclude": "ALL"}'Response:
{ "meta": { "status": 200, "errors": [{ "type": "RESOURCE_NOT_FOUND", "description": "Couldn't locate the requested resource" }], "rootLocation": "https://apis.indeed.com/ads", "perPage": 25, "links": [{ "rel": "next", "href": "/v1/campaigns/3141592653589793" }] }, "data": { "sponsorshipPlanBudgetQuotes": [{ "sponsorshipPlan": "PREMIUM", "dailyAvgBudgetPerJob": { "amount": 1500, "currency": "USD" }, "jobBudgetQuotes": [{ "jobKey": "89deb9de58ebe149", "dailyBudget": { "amount": 1500, "currency": "USD" } }] }] }}3. Campaign creation process
When Indeed first allocates bonus credits to your account, Indeed creates the bonus-credit campaigns for you.
Indeed creates the bonus-credit campaign in your account, and the campaign is immediately visible through the API.
4. Monitor your credit balance
Call GET /v1/advertisers/credits with your OAuth Bearer token:
- Before you sponsor jobs in a bonus-credit campaign.
- When Indeed allocates credits.
- Weekly, or as needed, to track spend.
Best practice: Cache the balance instead of polling frequently. Calls count toward your rate limits.
5. Identify your bonus-credit campaigns
You have two options:
-
List employer campaigns and statuses — Call
GET /v1/campaignsand includeFundingSourceinfields.A campaign is bonus-credit funded when
FundingSourceequals"Bonus Sponsored Job Credits". -
Get general campaign information — Call
GET /v1/campaigns/:campaignId.This response always includes
FundingSource.
6. Update job selection
Call PATCH /v1/campaigns/:campaignId with a JSON body that contains the job selection criteria.
You can update:
jobsToInclude, the selection mode, eitherALLorQUERY.jobsQuery, the search keywords.
You cannot update the campaign name, status, objective, or budget, which Indeed manages, or jobsTitle, jobsCompany, jobsLocation, and jobsLocationRadius.
Updating a restricted field returns this error:
"Only Jobs Query Criteria field update is allowed for campaigns using Bonus Sponsored Job Credits."7. View budget allocation
For all campaigns, call GET /v1/campaigns and include DailyAvgBudgetPerJob and FundingSource in fields.
For one campaign, call GET /v1/campaigns/:campaignId/budget. This endpoint returns DailyAvgBudgetPerJob automatically for bonus-credit campaigns.
Either call returns the total campaign budget allocation, plus the average daily budget per job for bonus-credit campaigns.