Sponsored Search API Best Practices Guide
Overview
To reduce throttling and improve integration performance, use snapshot reports for bulk data, avoid redundant requests for daily-refreshed data, poll near-real-time endpoints only when needed, and monitor API usage regularly. These practices help keep API workflows efficient, reliable, and aligned with Walmart Connect rate-limit expectations.
If you frequently receive 429 errors, contact Walmart Connect support by logging a support case.
Walmart Connect enforces hourly rate limits for Sponsored Search APIs. To avoid throttling, design integrations to:
- Distribute API calls evenly throughout the day.
- Avoid repeated calls for data that refreshes once daily.
- Use snapshot reports for bulk data retrieval.
- Limit near-real-time polling to meaningful intervals.
- Run bid and keyword optimizations at a strategic cadence.
- Monitor API usage before reaching hourly thresholds.
Common Causes of Throttling
The most common causes of throttling include:
- Requesting snapshot performance reports multiple times per day.
- Calling the Stats API endpoint too frequently.
- Running bid or keyword optimizations every hour or multiple times per day.
- Fetching campaign entities individually instead of using snapshot reports.
- Repeatedly calling catalog or item-level APIs when bulk reporting options are available.
General Best Practices
Distribute API Load
Avoid sending large bursts of API traffic within a short period. Spread API requests evenly across available hourly windows to reduce the risk of exceeding rate limits.
Use Snapshot Reports for Bulk Retrieval
Use snapshot reports when you need to retrieve large sets of data. Snapshot reports reduce call volume by consolidating data into a single report instead of requiring separate API calls for each entity.
For example, instead of calling GET /api/v1/keywords repeatedly, use POST /api/v1/snapshot/entity with entityType: "keyword" to retrieve keywords at the advertiser level.
Avoid Repeated Requests for Daily-Refreshed Data
Performance report data refreshes once every 24 hours. Requesting the same report multiple times per day increases API usage without providing new data.
Use the Stats API Strategically
The Stats API provides near-real-time metrics such as clicks, impressions, ad spend, and budget capout data. However, frequent polling may produce minimal changes while increasing API volume.
Use the Stats API to monitor active campaign performance and inform optimization decisions, but avoid excessive polling.
Optimize Bids and Keywords at Meaningful Intervals
Avoid running bid and keyword optimizations every hour. Since performance data is refreshed once daily, hourly optimizations are generally not effective and can contribute to throttling.
A recommended optimization cadence is every 4 to 5 hours, using available Stats API data to inform decisions.
Monitor API Usage
Use the API Usage Analyzer to review API operation counts from the last hour for a given user. Integrating this check into your workflow can help you identify high-volume usage patterns and adjust request frequency before reaching hourly limits.
Recommended API Call Frequencies
Campaign Management
| API Endpoint | Description | Recommended Frequency |
|---|---|---|
POST /api/v1/campaignsPOST /api/v1/adGroupsPOST /api/v1/adItemsPOST /api/v1/keywords | Create campaigns, ad groups, ad items, or keywords. | Multiple calls as needed based on business and user activity. |
POST /api/v1/campaignsPOST /api/v1/adGroupsPOST /api/v1/adItemsPOST /api/v1/keywords | Edit campaigns, ad groups, ad items, or keywords. | Multiple calls as needed based on business and user activity. |
POST /api/v1/campaignsPOST /api/v1/adGroupsPOST /api/v1/adItemsPOST /api/v1/keywords | Retrieve campaigns, ad groups, ad items, or keywords. | None or minimal. Use the Entity Snapshot report to retrieve campaign entities in a single API call. |
POST /api/v1/placements | Add placements. | Multiple calls as needed based on business and user activity. |
PUT /api/v1/placements | Update placements. | Multiple calls as needed based on business and user activity. |
GET /api/v1/placements | Retrieve placements. | None or minimal. Use the Entity Snapshot report to retrieve placements in a single API call. |
POST /api/v1/multipliers/placement | Add placement bid multipliers. | Multiple calls as needed based on business and user activity. |
PUT /api/v1/multipliers/placement | Update placement bid multipliers. | Multiple calls as needed based on business and user activity. |
GET /api/v1/multipliers/placement | Retrieve placement bid multipliers. | None or minimal. Use the Entity Snapshot report to retrieve bid multipliers in a single API call. |
GET /api/v1/review | Fetch review status for Sponsored Brands and Sponsored Video campaigns. | 1 call every 3 hours per unique ad group submitted for review. |
POST /api/v1/snapshot/entity | Retrieve campaign entities using a single API call. | Multiple calls as needed. Run this report when you need an updated list of campaign entities. |
Reporting
| API Endpoint | Description | Recommended Frequency |
|---|---|---|
POST /api/v2/snapshot/report | Generate and request a performance report. | 1 call per report type, per advertiser, per day after 10 AM PT. |
GET /api/v2/snapshot/report | Retrieve a generated performance report. | 1 call per report type, per advertiser, per day. |
GET /api/v1/stats | Retrieve near-real-time clicks, impressions, ad spend, and budget capout data. | Up to 24 calls per advertiser per day, or 1 call every hour per advertiser. Use less frequently when possible. |
GET /api/v1/latestReportDate | Retrieve the latest date for which performance reports have been processed and are available. | 1 call per day after 10 AM PT, or until the latest report date is T-1. |
Growth Opportunities
| API Endpoint | Description | Recommended Frequency |
|---|---|---|
POST /api/v1/snapshot/recommendations with item recommendations | Request item recommendations at the advertiser level. | 1 call per week, per advertiser, after Thursday 12 PM PT. |
POST /api/v1/snapshot/recommendations with keyword recommendations | Request keyword recommendations at the advertiser level. | 1 call per day, per advertiser. |
POST /api/v2/snapshot/recommendations with out-of-budget recommendations | Retrieve campaigns that are running out of budget. | 1 call per day, per advertiser, after 10 AM PT. |
Insights, Audit, and Miscellaneous Reports
| API Endpoint | Description | Recommended Frequency |
|---|---|---|
GET /api/v1/insights for Top Search Trends | Retrieve top searched keywords on Walmart.com. | 1 call per day after 4 PM PT. |
POST /api/v1/snapshot/insight for Advanced Insights | Download an advertiser item catalog. | None or minimal. Use during advertiser onboarding or when the item catalog is updated. |
POST /api/v1/snapshot/audit | Generate audit snapshots for selected advertiser entities. | Multiple calls as needed. Run this report when you need to audit campaign entity changes. |
Endpoint-Specific Guidance
Snapshot Performance Reports
Use POST /api/v2/snapshot/report to request performance reports once per report type, per advertiser, per day.
Because performance data refreshes once every 24 hours, requesting the same report multiple times per day usually returns stale data and increases API usage unnecessarily.
Entity Snapshot Reports
Use POST /api/v1/snapshot/entity when you need campaign entity data such as campaigns, ad groups, ad items, keywords, placements, or bid multipliers.
Avoid using individual GET endpoints to retrieve large lists of entities. Entity Snapshot reports are more efficient because they return entity data in bulk.
Stats API
Use GET /api/v1/stats for near-real-time campaign performance monitoring. This endpoint is useful for checking active campaign health, including clicks, impressions, ad spend, and budget capout indicators.
Although the maximum recommended frequency is 1 call per hour per advertiser, use a lower frequency when your workflow does not require hourly updates.
Bid and Keyword Optimization
Run bid and keyword optimizations every 4 to 5 hours instead of hourly. Use Stats API data to guide optimization decisions, but avoid repeated optimization cycles that rely on unchanged performance-report data.
Advanced Insights
Use the Advanced Insights Snapshot Report to retrieve catalog, retail, inventory health, and consumer behavior insights in bulk.
Instead of pulling items individually through item-level APIs, use the advancedInsights report type to retrieve catalog items in a single report. Call this report only when onboarding an advertiser or when the item catalog changes.
Audit Snapshots
Use POST /api/v1/snapshot/audit when you need to audit campaign entity changes. Because audit needs vary by workflow, call this endpoint as needed based on business requirements.
Implementation Checklist
Use this checklist when designing or reviewing an API integration:
- API calls are distributed evenly across hourly timeframes.
- Snapshot performance reports are requested only once per report type, per advertiser, per day.
- Entity Snapshot reports are used instead of repeated individual entity
GETcalls. - Stats API calls are limited to meaningful monitoring intervals.
- Bid and keyword optimizations run every 4 to 5 hours, not hourly.
- Advanced Insights reports are used for catalog-level data instead of repeated item-level calls.
- API Usage Analyzer is used to monitor recent API activity.
- Workflows avoid repeated calls for data that refreshes once daily.
- Review-status polling is limited to 1 call every 3 hours per unique ad group submitted for review.
- Support cases are logged if frequent
429errors continue after applying these practices.
Updated 6 days ago
