Rate limiting

API rate limiting is a crucial mechanism used to control the number of API requests a seller can make in a given time period. This ensures the stability and reliability of the API service by preventing abuse and overuse.

Benefits

API rate limiting provides multiple advantages that enhance overall service efficiency and security.

  • Enhanced performance: By limiting the number of requests, APIs can maintain optimal performance levels, ensuring that all users experience consistent and reliable service.
  • Fair usage: Rate limits ensure that resources are distributed fairly among all users, preventing any single user from monopolizing the service.
  • Protection against abuse: Rate limiting helps protect the API from malicious attacks such as Denial of Service (DoS), where an attacker overwhelms the service with excessive requests.
  • Improved security: It acts as a layer of security by reducing the risk of automated scraping and other unauthorized activities.

By implementing API rate limiting, Walmart aims to offer a more secure, stable, and fair service to all users, enhancing the overall user experience.

API usage limits (Rate limits and throttling)

Walmart imposes limits on its API usage to ensure fair resource usage and protect platform stability. All Walmart API users are responsible for ensuring their API usage remains within these limits.

The API usage is restricted in two ways:

Rate limits

  • Definition: Limits the number of API requests allowed within a particular timeframe.
  • Variability: Rate limits vary by API.
  • Consequences: If rate limits are exceeded, then you will be throttled, receiving a 429 – Too Many Requests error code response.

Max file size limits

  • Definition: Limits the file size allowed for different API feed types.
  • Variability: File size limits vary by feed type.
  • Consequences: If file size limits are exceeded, then your request will be denied, receiving a 413 – Payload Too Large error code response.

Algorithm for rate limits

Walmart utilizes a token bucket algorithm to enforce rate limits. Imagine a bucket that holds a fixed number of tokens, each representing an API call. When there are tokens in the bucket, an API request is allowed, and a token is removed from the bucket. If there are no tokens left, the API request is denied. The bucket is continuously replenished with tokens at a fixed rate. For example, if the rate limit is 20 requests per hour, the limit may replenish one request every 3 minutes.

Finding your usage limits

  1. Usage limits are posted on the Walmart Developer portal for your convenience.
  2. When you call Walmart APIs, the response header includes two parameters indicating your current rate limit for the specific API you are calling.
ParameterDescription
x-current-token-countYour current number of tokens available, which is your request limit for this API.
x-next-replenish-timeThe next time at which your token count increases, allowing additional requests for this API.

API rate limits

The following table provides the default API call limit rates for individuals and smaller businesses.

API categoryAPI nameRate limitMethodEndpoint
Assortment RecommendationsGet Recommendations500/minPOST/v3/growth/assortment/recommendations
Get Variants500/hourGET/v3/growth/assortment/recommendations/variants
Get Recommendation Trends500/hourGET/v3/growth/assortment/recommendations/trends
Get Categorization200/hourPOST/v3/growth/assortment/recommendations/categorization/counts
Reject Recommendations20/hourPUT/v3/growth/assortment/recommendations/rejections
Disputes ManagementDispute status10/minPOST/v3/items/dispute/duplicates/status
Dispute submission10/minPOST/v3/items/dispute/duplicates/contest
Feed ManagementAll feed statuses5000/minGET/v3/feeds
Feed item status5000/minGET/v3/feeds/{feedId}
Get feed error report60/hourGET/v3/feeds/{feedId}/errorReport
Fulfillment Management (WFS)Hazmat Items On Hold30/hourPOST/v3/items/onhold/search
Update Shipment Tracking2/minPOST/v3/fulfillment/shipment-tracking
Create Inbound Shipment label20/minPOST/v3/fulfillment/shipment-label
Get Customer Return Orders status60/minGET/v3/fulfillment/return-orders
Create Customer Return Order60/minPOST/v3/fulfillment/return-orders
Cancel Customer Return Order60/minPOST/v3/fulfillment/return-orders/{orderId}/cancel
Create Customer Order600/minPOST/v3/fulfillment/orders-fulfillments
Fetch Delivery Promise Details20/minPOST/v3/fulfillment/orders-fulfillments/fetchOrderPromiseOptions
Cancel Customer Order600/minPOST/v3/fulfillment/orders-fulfillments/cancel
Get Shipments32/minGET/v3/fulfillment/inbound-shipments
Create Inbound Shipment500/minPOST/v3/fulfillment/inbound-shipments
Fetch Inbound Preview60/hourPOST/v3/fulfillment/inbound-preview
Get Carrier Rate Quote150/minGET/v3/fulfillment/carrier-rate-quotes/{shipmentId}/{mode}
Create Carrier Rate Quote8/minPOST/v3/fulfillment/carrier-rate-quotes
Confirm Carrier Rate Quote8/minPOST/v3/fulfillment/carrier-rate-quote/confirm
Print Carrier Label30/minPOST/v3/fulfillment/carrier-label/{shipmentId}
Get WFS Inventory Health Report5/minGET/v3/report/wfs/getInventoryHealthReport
Get fulfillment orders status20/minGET/v3/fulfillment/orders-fulfillments/status
Get Inventory Log for a WFS item500/minGET/v3/fulfillment/inventory-log
Get Inbound Shipment Items300/minGET/v3/fulfillment/inbound-shipment-items
Get Inbound Shipment errors10/minGET/v3/fulfillment/inbound-shipment-errors
Cancel Inbound Shipment10/minDELETE/v3/fulfillment/inbound-shipments/{inboundOrderId}
Insights ManagementItem Listing Quality Details1/minPOST/v3/insights/items/listingQuality/items
Pro Seller Tier and Rewards Status1/minGET/v3/insights/sellerIncentives
Pro Seller Badge Status1/minGET/v3/insights/prosellerbadge
Valid Tracking Rate Performance Metrics1/minGET/v3/insights/performance/vtr/summary
Get Valid tracking orders report in Microsoft xlsx format1/minGET/v3/insights/performance/vtr/report
Simplified Shipping Settings Metrics - Ship-from Location accuracies1/minGET/v3/insights/performance/sss/sfla/summary
Get the report of Simplified Shipping Settings Metrics - Ship-from location accury in Microsoft xlsx format1/minGET/v3/insights/performance/sss/sfla/report
Simplified Shipping Settings Metrics - On-time Shipment rate1/minGET/v3/insights/performance/sss/ots/summary
Get the report of Simplified Shipping Settings Metrics - On-time shipment rate in Microsoft xlsx format1/minGET/v3/insights/performance/sss/ots/report
Simplified Shipping Settings Metrics - Carrier Method Accuracy1/minGET/v3/insights/performance/sss/cma/summary
Get the report of Simplified Shipping Settings Metrics - Carrier Method Accuracy in Microsoft xlsx format1/minGET/v3/insights/performance/sss/cma/report
Seller Response Rate Performance Metrics1/minGET/v3/insights/performance/srr/summary
Get Seller Response Rate orders in Microsoft xlsx format1/minGET/v3/insights/performance/srr/report
Refund Performance Metrics1/minGET/v3/insights/performance/refunds/summary
Get refunded orders report in Microsoft xlsx format1/minGET/v3/insights/performance/refunds/report
On Time Delivery Performance Metrics1/minGET/v3/insights/performance/otd/summary
Get On Time Delivery Orders Report in Microsoft xlsx format1/minGET/v3/insights/performance/otd/report
Cancellations Performance Metrics1/minGET/v3/insights/performance/cancellations/summary
Get cancelled orders report in Microsoft xlsx format1/minGET/v3/insights/performance/cancellations/report
Unpublished Items100/minGET/v3/insights/items/unpublished/items
Unpublished Item Counts100/minGET/v3/insights/items/unpublished/counts
Seller Listing Quality Score10/hourGET/v3/insights/items/listingQuality/score
Inventory ManagementInventory200/minGET/v3/inventory
Update Inventory200/minPUT/v3/inventory
Single Item Inventory by Ship Node200/minGET/v3/inventories/{sku}
Update Item Inventory per Ship Node200/minPUT/v3/inventories/{sku}
Multiple Item Inventory for All Ship Notes200/minGET/v3/inventories
Item ManagementGet Spec10/minPOST/v3/items/spec
Catalog Search200/minPOST/v3/items/catalog/search
Get Item Associations200/minPOST/v3/items/associations
All items300/minGET/v3/items
An item900/minGET/v3/items/{id}
Item Search200/minGET/v3/items/walmart/search
Taxonomy200/minGET/v3/items/taxonomy
Get item count by groups100/minGET/v3/items/groups/count
Get items count by status200/minGET/v3/items/count
Retire an item900/minDELETE/v3/items/{sku}
Lag TimeLag Time20/hourGET/v3/lagtime
Notifications ManagementTest Notification10/minPOST/v3/webhooks/test
All Subscriptions50/minGET/v3/webhooks/subscriptions
Create Subscription200/minPOST/v3/webhooks/subscriptions
Delete Subscription10/minDELETE/v3/webhooks/subscriptions/{subscriptionId}
Update Subscription5/minPATCH/v3/webhooks/subscriptions/{subscriptionId}
Event Types5/minGET/v3/webhooks/eventTypes
On-Request Report ManagementGet All Report Requests200/minGET/v3/reports/reportRequests
Report Request Status20/hourGET/v3/reports/reportRequests/{requestId}
Download Report URL20/hourGET/v3/reports/downloadReport
Order ManagementShip Order Lines60/minPOST/v3/orders/{purchaseOrderId}/shipping
Refund Order Lines60/minPOST/v3/orders/{purchaseOrderId}/refund
Cancel Order Lines60/minPOST/v3/orders/{purchaseOrderId}/cancel
Acknowledge Orders60/minPOST/v3/orders/{purchaseOrderId}/acknowledge
All orders5000/minGET/v3/orders
An order5000/minGET/v3/orders/{purchaseOrderId}
All released orders60/minGET/v3/orders/released
Pre-generated Reports Retiring on June 30, 2022Recon Report (Legacy)100/minGET/v3/report/reconreport/reconFile
Payment Statement Report15/minGET/v3/report/payment/statement
Performance Report15/minGET/v3/report/payment/performance
Price ManagementUpdate Repricer Strategy10/hourPUT/v3/repricer/strategy/{strategyCollectionId}
Delete Repricer Strategy10/hourDELETE/v3/repricer/strategy/{strategyCollectionId}
Update a price100/hourPUT/v3/price
Assign/Unassign items to/from Repricer Strategy6/hourPOST/v3/repricerFeeds
Create Repricer Strategy20/hourPOST/v3/repricer/strategy
Set up CAP SKU All30/minPOST/v3/cppreference
List of Repricer Strategies50/hourGET/v3/repricer/strategies
List of Price Incentive Items60/minGET/v3/price/incentives
Update the enrollment status of Walmart-funded incentive items1/minPUT/v3/price/incentives/wfpreference
Promotion ManagementUpdate a promotional price100/hourPUT/v3/price
Promotional prices1000/minGET/v3/promo/sku/{sku}
Returns ManagementIssue refund60/min POST/v3/returns/{returnOrderId}/refund
Returns50/minGET/v3/returns
Reviews AccelerationBulk Update Item Status100/hourPUT/v3/growth/reviews-accelerator/items/status
Get RAP Post-Purchase Items20/minPOST/v3/growth/reviews-accelerator/items
Get Categories100/hourPOST/v3/growth/reviews-accelerator/categories
Settings ManagementGet Shipping Template Details750/minGET/v3/settings/shipping/templates/{templateId}
Update Shipping Templates100/minPUT/v3/settings/shipping/templates/{templateId}
Delete Shipping Template100/minDELETE/v3/settings/shipping/templates/{templateId}
Get all fulfillment centers50/minGET/v3/settings/shipping/shipnodes
Update fulfillment center60/minPUT/v3/settings/shipping/shipnodes
Create fulfillment center10/minPOST/v3/settings/shipping/shipnodes
Get account level settings50/minGET/v3/settings/shipping/account
Update account level settings100/minPUT/v3/settings/shipping/account
Create account level settings10/minPOST/v3/settings/shipping/account
Get All Shipping Templates300/minGET/v3/settings/shipping/templates
Create Shipping Templates60/minPOST/v3/settings/shipping/templates
Third party fulfillment center association10/minPOST/v3/settings/shipping/3plshipnodes
Get Shipping Configurations100/minGET/v3/settings/shippingprofile
Get Shipping Template Activation Status10/minGET/v3/settings/shipping/templates/activationStatus
Get coverage for fulfillment centers100/minGET/v3/settings/shipping/shipnodes/coverage
Get carrier methods10/minGET/v3/settings/shipping/carriers
Get all third party fulfillment providers10/minGET/v3/settings/shipping/3plproviders
Get Partner Configurations50/minGET/v3/settings/partnerprofile
Ship With WalmartCreate label100/minPOST/v3/shipping/labels
Shipping estimates100/minPOST/v3/shipping/labels/shipping-estimates
Labels detail by purchase order id100/minGET/v3/shipping/labels/purchase-orders/{purchaseOrderId}
Supported carriers100/minGET/v3/shipping/labels/carriers
Download label100/minGET/v3/shipping/labels/carriers/{carrierShortName}/trackings/{trackingNo}
Discard label100/minDELETE/v3/shipping/labels/carriers/{carrierShortName}/trackings/{trackingNo}
Supported carrier package types100/minGET/v3/shipping/labels/carriers/{carrierShortName}/package-types
Simplified Shipping Settings ManagementUpdate FC Level Simplified Shipping Settings25/minPUT/v3/settings/shipping/simplifiedshippingsettings/fulfillmentcenter
Update Simplified Shipping Settings25/minPUT/v3/settings/shipping/simplifiedshippingsettings/account
Create Simplified Shipping Settings5/minPOST/v3/settings/shipping/simplifiedshippingsettings/account
Get Simplified Shipping Settings50/minGET/v3/settings/shipping/simplifiedshippingsettings
Utilities ManagementTaxonomy by Spec20/minGET/v3/utilities/taxonomy
API Platform Status100/minGET/v3/utilities/apiStatus

Feed type usage limits

Feed typeMaximum file sizeRate limit
inventory5 MB10/hour
mp_item_price_update26 MB20/hour
sku_template_map10 MB10/hour
dsv_inventory10 MB50/hour
mp_inventory10 MB50/hour
mp_item26 MB10/hour
mp_maintenance26 MB10/hour
lagtime10 MB6/hour
price10 MB10/hour
promo10 MB10/hour
mp_item_match26 MB20/hour
promo_price10 MB6/day
returns_overrides0.4 MB20/day
omni_dsv_item26 MB20/hour
omni_maintenance26 MB20/hour
cpt_seller_eligibility10 MB7/day
item26 MB10/hour
shipping_overrides26 MB10/hour
mp_wfs_item26 MB10/hour
omni_wfs26 MB10/hour
program_actions25 MB20/hour
mp_wfs_maintenance26 MB10/hour
split_and_merge26 MB10/hour