Authenticate to SP-API using Login with Amazon (LWA) — exchange your client credentials and refresh token for an access token via the LWA token endpoint.
Create a feed document by calling the `createFeedDocument` endpoint with `contentType` set to the appropriate feed MIME type (e.g., `text/tab-separated-values;charset=UTF-8` for flat file feeds or `application/json` for JSON-based feeds).
Upload your feed content (e.g., a price-and-quantity flat file or JSON inventory feed) to the pre-signed S3 URL returned in the `createFeedDocument` response using a PUT request with the correct `Content-Type` header.
Submit the feed by calling `createFeed` with `feedType` (e.g., `POST_PRODUCT_PRICING_DATA` for prices or `POST_INVENTORY_AVAILABILITY_DATA` for inventory) and the `feedDocumentId` from step 2.
Poll `getFeed` with the returned `feedId` until `processingStatus` is `DONE`, then retrieve the result feed document using `getFeedDocument` and download it from the signed URL to check for row-level errors.
For lower-latency inventory updates on a single listing, consider the `Listings Items` API's `patchListingsItem` endpoint as an alternative to feeds for individual SKU changes.
Known gotchas
The pre-signed S3 upload URL from `createFeedDocument` expires quickly — upload the feed content immediately after receiving it.
Feed processing is asynchronous and can take minutes to hours during peak times; do not assume the feed has applied until you verify `processingStatus: DONE` and inspect the result document for per-row errors.
Flat file feeds are marketplace- and category-specific; using the wrong template or feed type for a category results in rows being silently ignored or errored without a clear top-level failure.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp