Sponsored Jobs API best practices to reduce call volume
Best practices to reduce Sponsored Jobs API call volume.
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.
-
2026-01-08:
Sponsored Jobs API usage policy: as of 2026-02-01, per-call charges apply in these markets:
- EU markets and Switzerland (AT, BE, CH, DE, DK, EE, ES, FI, FR, GR, IE, IT, LU, NL, PL, PT, RO, SE): 3 EUR, or the equivalent in the advertiser's billing currency.
- Other markets (AR, AU, BR, CA, CL, CO, CR, GB, ID, IN, MX, MY, NZ, PA, PH, SG, TH): 3 USD, or the equivalent in the advertiser's billing currency.
Fees apply only when your monthly Sponsored Jobs campaign spend is less than your monthly API call cost.
The policy applies to all paying Sponsored Jobs API customers except users of Indeed's proprietary ATS plugin.
Eligibility: You can use the Sponsored Jobs API only if you sponsored a job in the last three calendar months.
Monthly call limit: The maximum is the greater of:
- Your previous month's Sponsored Jobs campaign spend.
- Your credit limit.
Monitor your usage: Call
/apiquotausageto retrieve your current month's API usage.For recommended API usage patterns, see Sponsored Jobs API best practices to reduce call volume.
-
2026-01-08:
Sponsored Jobs API usage policy (US): as of 2024-12-01, Sponsored Jobs API customers pay for API usage based on their sponsorship spend. The policy does not apply to users of Indeed's proprietary ATS plugin.
For recommended API usage patterns, see Sponsored Jobs API best practices to reduce call volume.
-
Effective 2024-06-30: the
GET /v1/stats/datastatusendpoint is decommissioned and returns HTTP404. UseGET /v1/statsinstead. -
Effective 2024-06-26: the
GET /v1/campaigns/:campaignId/stats/:dateandGET /v1/campaigns/:campaignId/stats/entryDatesendpoints are decommissioned and return HTTP404.Use
GET /v1/campaigns/{campaignId}/statsinstead. -
Effective 2024-06-26: the
perPageparameter forGET /v1/campaignsis capped at500. Requests with a higher value are rejected as invalid.
To reduce your Sponsored Jobs API call volume, follow these best practices.
Best practices
| Best practice | |
|---|---|
| ✅ | Call the API more often for high-priority campaigns and less often for low-priority ones. |
| ✅ | Call the API only for active campaigns.
|
| ✅ | Request detailed job-level reports only once per day. Reuse the report ID for the rest of the day. The API returns updated data on the same report ID as it becomes available, so you do not need to generate a new ID for that day. |
| ✅ | Set |
| ✅ | Use realistic page sizes. Keep campaign lists under 500. Set |
| ✅ | Space requests evenly. Do not send large bursts of traffic. |
| ✅ | Provide all required fields when calling any API to avoid errors. |
| ✅ | Call the API only when needed. Repeated calls return the same response when nothing has changed. |
| ✅ | If multiple internal teams need the same API data, have one team call the API and share the results internally instead of each team calling it separately. |
| ✅ | Cache responses locally to reduce repetitive API requests for the same data. |
| ✅ | Use date-based filters, wherever applicable, to fetch only new or updated records. |
| ❌ | Avoid frequent calls to get static information:
|
API calls
For specific recommendations by API call, review these topics:
- API quota usage
- API access
- Account management
- Campaign management
- Reports
- Campaign predictions
- Data retrieval
API quota usage
| Endpoint | Recommended usage pattern |
|---|---|
Get advertiser's API quota usage
| Get the advertiser's Sponsored Jobs API usage, quota, and sponsored job spend for the given month. Defaults to current month if not provided. Returns information about the API usage count for the given month, which is updated daily, the allocated API quota and spend on sponsored jobs. Avoid frequent calls for static quota data because it is set monthly. Call the API to monitor current usage and spend to avoid exceeding quota or incurring additional charges if the API usage cost exceeds the monthly sponsored jobs spend. Call the API to get historic quota usage and spend data. |
API access
| Endpoint | Recommended usage pattern |
|---|---|
Update advertiser's API access
| Blocks or activates advertiser's access to the API. Enables update to API access if Sponsored Jobs API usage policy blocks them. Set the API access status, which is Any advertiser who calls this endpoint to activate their access is subject to this usage policy. Some cases for calling this endpoint are:
To get the advertiser's API quota usage, see Get advertiser's API quota usage. |
Account management
| Endpoint | Recommended usage pattern |
|---|---|
Get Indeed advertiser account information for employer
| Returns static information about the employer account. Call this API to check the billing status and currency code. After an account is set up, do not call this API unless an account update was made. |
| Call this API only when a change occurs to accounts because subaccount information is updated only when an account is created or updated. Calling this API without any account change results in the same response. |
Campaign management
| Endpoint | Recommended usage pattern |
|---|---|
List employer campaigns and statuses
| Ideally, this information is readily available because you use software that you own or license to create campaigns. At employer level, call this API infrequently. |
Create campaign. | As needed, based on employer-initiated sponsorship requests. |
Get general campaign information
| Store the campaign information, and call this API periodically, as needed, to refresh the data. Almost all this data is static. Call this API for spending campaigns only. Do not call this API for all campaigns that you have ever created. |
Update general campaign information
| Call this API only to pause a campaign or change the campaign name for user-initiated actions. At the campaign level, call this API infrequently. |
Get campaign budget and duration
| This API returns user-defined and static values. At the campaign level, call this API infrequently. |
Update campaign budget and duration
| API optimization is impacted by frequently changing budgets and start and end dates of campaigns. Call this API for user-initiated actions. At the campaign level, call this API infrequently. |
| Call this API for multijob campaigns only. Do not call this API more than once unless a change occurs in campaign job mapping because the results are the same. |
Get details for jobs in campaign
| Call this API for multijob campaigns only. Do not call this API more than once unless a change occurs in campaign job mapping because the results are the same. |
Get key dates for employer campaign
| The API is not very useful for ATS employers because they do not have a way to troubleshoot any issues that might arise with this data being available to them. Do not call this API. |
Reports
| Endpoint | Recommended usage pattern |
|---|---|
Get campaign statistics, for date range
| Get campaign statistics for a date range. Use this API in real time for the user’s internal dashboards. |
Get campaign traffic report by campaign and job, for date range
| Get a link to a detailed report. You can request detailed job-level reports on a daily basis only. However, you can reuse report IDs. When you use the same report ID, the API returns updated data as it becomes available. This approach reduces the number of calls required because you do not need to generate a report ID if you already one for that day. |
Get advertiser's API quota usage
| Get an advertiser's Sponsored Jobs API usage, quota, and sponsored job spend for a specific month. |
Campaign predictions
| Endpoint | Recommended usage pattern |
|---|---|
| If you have integrated with this API, leverage it to help employers make an informed decision for their campaign budgets. This API is a low-usage endpoint. Call this API judiciously. |
Get organic job performance and prediction
| If you have integrated with this API, leverage it to help employers make an informed decision about the benefits of sponsorship. This API is a low-usage endpoint. Call this API judiciously in the sponsorship workflow when the employer asks whether they should sponsor this job on Indeed. If this workflow is not available, do not call this API. |
Data retrieval
The data that the Sponsored Jobs API retrieves is refreshed once a day at the end of the day.
Users that call the Sponsored Jobs API to get the current day's campaign performance data or spending data might see an error or inaccurate numbers.
For example, if a user calls the Sponsored Jobs API on 2026-01-31, the API gets data for the period from 2026-01-01 to 2026-01-30.
To get the most accurate data for the period from 2026-01-01 to 2026-01-31, the user should wait to call the API until 2026-02-01.