Item API
walmart · Commerce
Please make sure you use the correct version of the APIs for your use case. To find out the appropriate version, go to the API Docs drop down on the menu.
Authentication
Sample Requests
You can display the status of an item within a feed. Use the feed ID returned from the upload an item API.
Hover any highlighted part to learn what it does
| WM_SVC.NAME | Walmart Marketplace |
| WM_CONSUMER.ID | example |
| WM_SEC.TIMESTAMP | Auto populated |
| WM_QOS.CORRELATION_ID | 123456abcdef |
| WM_SEC.AUTH_SIGNATURE | Auto populated |
| WM_CONSUMER.CHANNEL.TYPE | SWAGGER_CHANNEL_TYPE |
curl -X GET "https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds?limit=50&feedId=example&offset=0&includeDetails=false" \ -H "WM_SVC.NAME: Walmart Marketplace" \ -H "WM_CONSUMER.ID: example" \ -H "WM_SEC.TIMESTAMP: Auto populated" \ -H "WM_QOS.CORRELATION_ID: 123456abcdef" \ -H "WM_SEC.AUTH_SIGNATURE: Auto populated" \ -H "WM_CONSUMER.CHANNEL.TYPE: SWAGGER_CHANNEL_TYPE"
import requests
params = {
"limit": "50",
"feedId": "example",
"offset": "0",
"includeDetails": "false"
}
headers = {
"WM_SVC.NAME": "Walmart Marketplace",
"WM_CONSUMER.ID": "example",
"WM_SEC.TIMESTAMP": "Auto populated",
"WM_QOS.CORRELATION_ID": "123456abcdef",
"WM_SEC.AUTH_SIGNATURE": "Auto populated",
"WM_CONSUMER.CHANNEL.TYPE": "SWAGGER_CHANNEL_TYPE"
}
response = requests.get(
"https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds');
url.searchParams.set('limit', '50');
url.searchParams.set('feedId', 'example');
url.searchParams.set('offset', '0');
url.searchParams.set('includeDetails', 'false');
const response = await fetch(url, {
headers: {
'WM_SVC.NAME': 'Walmart Marketplace',
'WM_CONSUMER.ID': 'example',
'WM_SEC.TIMESTAMP': 'Auto populated',
'WM_QOS.CORRELATION_ID': '123456abcdef',
'WM_SEC.AUTH_SIGNATURE': 'Auto populated',
'WM_CONSUMER.CHANNEL.TYPE': 'SWAGGER_CHANNEL_TYPE'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds")
q := baseURL.Query()
q.Set("limit", "50")
q.Set("feedId", "example")
q.Set("offset", "0")
q.Set("includeDetails", "false")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("WM_SVC.NAME", "Walmart Marketplace")
req.Header.Set("WM_CONSUMER.ID", "example")
req.Header.Set("WM_SEC.TIMESTAMP", "Auto populated")
req.Header.Set("WM_QOS.CORRELATION_ID", "123456abcdef")
req.Header.Set("WM_SEC.AUTH_SIGNATURE", "Auto populated")
req.Header.Set("WM_CONSUMER.CHANNEL.TYPE", "SWAGGER_CHANNEL_TYPE")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds")
uri.query = URI.encode_www_form({
"limit" => "50",
"feedId" => "example",
"offset" => "0",
"includeDetails" => "false"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["WM_SVC.NAME"] = "Walmart Marketplace"
req["WM_CONSUMER.ID"] = "example"
req["WM_SEC.TIMESTAMP"] = "Auto populated"
req["WM_QOS.CORRELATION_ID"] = "123456abcdef"
req["WM_SEC.AUTH_SIGNATURE"] = "Auto populated"
req["WM_CONSUMER.CHANNEL.TYPE"] = "SWAGGER_CHANNEL_TYPE"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds?" . http_build_query([
"limit" => "50",
"feedId" => "example",
"offset" => "0",
"includeDetails" => "false"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"WM_SVC.NAME: Walmart Marketplace",
"WM_CONSUMER.ID: example",
"WM_SEC.TIMESTAMP: Auto populated",
"WM_QOS.CORRELATION_ID: 123456abcdef",
"WM_SEC.AUTH_SIGNATURE: Auto populated",
"WM_CONSUMER.CHANNEL.TYPE: SWAGGER_CHANNEL_TYPE"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));You can display the status of an item within a feed. Use the feed ID returned from the upload an item API.
Hover any highlighted part to learn what it does
| WM_SVC.NAME | Walmart Marketplace |
| WM_CONSUMER.ID | example |
| WM_SEC.TIMESTAMP | Auto populated |
| WM_QOS.CORRELATION_ID | 123456abcdef |
| WM_SEC.AUTH_SIGNATURE | Auto populated |
| WM_CONSUMER.CHANNEL.TYPE | SWAGGER_CHANNEL_TYPE |
curl -X GET "https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v3/feeds?limit=50&feedId=example&offset=0&includeDetails=false" \ -H "WM_SVC.NAME: Walmart Marketplace" \ -H "WM_CONSUMER.ID: example" \ -H "WM_SEC.TIMESTAMP: Auto populated" \ -H "WM_QOS.CORRELATION_ID: 123456abcdef" \ -H "WM_SEC.AUTH_SIGNATURE: Auto populated" \ -H "WM_CONSUMER.CHANNEL.TYPE: SWAGGER_CHANNEL_TYPE"
import requests
params = {
"limit": "50",
"feedId": "example",
"offset": "0",
"includeDetails": "false"
}
headers = {
"WM_SVC.NAME": "Walmart Marketplace",
"WM_CONSUMER.ID": "example",
"WM_SEC.TIMESTAMP": "Auto populated",
"WM_QOS.CORRELATION_ID": "123456abcdef",
"WM_SEC.AUTH_SIGNATURE": "Auto populated",
"WM_CONSUMER.CHANNEL.TYPE": "SWAGGER_CHANNEL_TYPE"
}
response = requests.get(
"https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v3/feeds",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v3/feeds');
url.searchParams.set('limit', '50');
url.searchParams.set('feedId', 'example');
url.searchParams.set('offset', '0');
url.searchParams.set('includeDetails', 'false');
const response = await fetch(url, {
headers: {
'WM_SVC.NAME': 'Walmart Marketplace',
'WM_CONSUMER.ID': 'example',
'WM_SEC.TIMESTAMP': 'Auto populated',
'WM_QOS.CORRELATION_ID': '123456abcdef',
'WM_SEC.AUTH_SIGNATURE': 'Auto populated',
'WM_CONSUMER.CHANNEL.TYPE': 'SWAGGER_CHANNEL_TYPE'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v3/feeds")
q := baseURL.Query()
q.Set("limit", "50")
q.Set("feedId", "example")
q.Set("offset", "0")
q.Set("includeDetails", "false")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("WM_SVC.NAME", "Walmart Marketplace")
req.Header.Set("WM_CONSUMER.ID", "example")
req.Header.Set("WM_SEC.TIMESTAMP", "Auto populated")
req.Header.Set("WM_QOS.CORRELATION_ID", "123456abcdef")
req.Header.Set("WM_SEC.AUTH_SIGNATURE", "Auto populated")
req.Header.Set("WM_CONSUMER.CHANNEL.TYPE", "SWAGGER_CHANNEL_TYPE")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v3/feeds")
uri.query = URI.encode_www_form({
"limit" => "50",
"feedId" => "example",
"offset" => "0",
"includeDetails" => "false"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["WM_SVC.NAME"] = "Walmart Marketplace"
req["WM_CONSUMER.ID"] = "example"
req["WM_SEC.TIMESTAMP"] = "Auto populated"
req["WM_QOS.CORRELATION_ID"] = "123456abcdef"
req["WM_SEC.AUTH_SIGNATURE"] = "Auto populated"
req["WM_CONSUMER.CHANNEL.TYPE"] = "SWAGGER_CHANNEL_TYPE"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v3/feeds?" . http_build_query([
"limit" => "50",
"feedId" => "example",
"offset" => "0",
"includeDetails" => "false"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"WM_SVC.NAME: Walmart Marketplace",
"WM_CONSUMER.ID: example",
"WM_SEC.TIMESTAMP: Auto populated",
"WM_QOS.CORRELATION_ID: 123456abcdef",
"WM_SEC.AUTH_SIGNATURE: Auto populated",
"WM_CONSUMER.CHANNEL.TYPE: SWAGGER_CHANNEL_TYPE"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));You can display the status of all items within a feed. Use the feed ID returned from the upload an item API.
Hover any highlighted part to learn what it does
| WM_SVC.NAME | Walmart Marketplace |
| WM_CONSUMER.ID | example |
| WM_SEC.TIMESTAMP | Auto populated |
| WM_QOS.CORRELATION_ID | 123456abcdef |
| WM_SEC.AUTH_SIGNATURE | Auto populated |
| WM_CONSUMER.CHANNEL.TYPE | SWAGGER_CHANNEL_TYPE |
curl -X GET "https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds/{feedId}?limit=50&offset=0&includeDetails=false" \
-H "WM_SVC.NAME: Walmart Marketplace" \
-H "WM_CONSUMER.ID: example" \
-H "WM_SEC.TIMESTAMP: Auto populated" \
-H "WM_QOS.CORRELATION_ID: 123456abcdef" \
-H "WM_SEC.AUTH_SIGNATURE: Auto populated" \
-H "WM_CONSUMER.CHANNEL.TYPE: SWAGGER_CHANNEL_TYPE"import requests
params = {
"limit": "50",
"offset": "0",
"includeDetails": "false"
}
headers = {
"WM_SVC.NAME": "Walmart Marketplace",
"WM_CONSUMER.ID": "example",
"WM_SEC.TIMESTAMP": "Auto populated",
"WM_QOS.CORRELATION_ID": "123456abcdef",
"WM_SEC.AUTH_SIGNATURE": "Auto populated",
"WM_CONSUMER.CHANNEL.TYPE": "SWAGGER_CHANNEL_TYPE"
}
response = requests.get(
"https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds/{feedId}",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds/{feedId}');
url.searchParams.set('limit', '50');
url.searchParams.set('offset', '0');
url.searchParams.set('includeDetails', 'false');
const response = await fetch(url, {
headers: {
'WM_SVC.NAME': 'Walmart Marketplace',
'WM_CONSUMER.ID': 'example',
'WM_SEC.TIMESTAMP': 'Auto populated',
'WM_QOS.CORRELATION_ID': '123456abcdef',
'WM_SEC.AUTH_SIGNATURE': 'Auto populated',
'WM_CONSUMER.CHANNEL.TYPE': 'SWAGGER_CHANNEL_TYPE'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds/{feedId}")
q := baseURL.Query()
q.Set("limit", "50")
q.Set("offset", "0")
q.Set("includeDetails", "false")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("WM_SVC.NAME", "Walmart Marketplace")
req.Header.Set("WM_CONSUMER.ID", "example")
req.Header.Set("WM_SEC.TIMESTAMP", "Auto populated")
req.Header.Set("WM_QOS.CORRELATION_ID", "123456abcdef")
req.Header.Set("WM_SEC.AUTH_SIGNATURE", "Auto populated")
req.Header.Set("WM_CONSUMER.CHANNEL.TYPE", "SWAGGER_CHANNEL_TYPE")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds/{feedId}")
uri.query = URI.encode_www_form({
"limit" => "50",
"offset" => "0",
"includeDetails" => "false"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["WM_SVC.NAME"] = "Walmart Marketplace"
req["WM_CONSUMER.ID"] = "example"
req["WM_SEC.TIMESTAMP"] = "Auto populated"
req["WM_QOS.CORRELATION_ID"] = "123456abcdef"
req["WM_SEC.AUTH_SIGNATURE"] = "Auto populated"
req["WM_CONSUMER.CHANNEL.TYPE"] = "SWAGGER_CHANNEL_TYPE"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds/{feedId}?" . http_build_query([
"limit" => "50",
"offset" => "0",
"includeDetails" => "false"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"WM_SVC.NAME: Walmart Marketplace",
"WM_CONSUMER.ID: example",
"WM_SEC.TIMESTAMP: Auto populated",
"WM_QOS.CORRELATION_ID: 123456abcdef",
"WM_SEC.AUTH_SIGNATURE: Auto populated",
"WM_CONSUMER.CHANNEL.TYPE: SWAGGER_CHANNEL_TYPE"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Item API?
Item API is a Commerce API. Developers commonly use commerce APIs for:
- syncing product catalogues and inventory levels
- building price comparison and deal-finder tools
- processing orders and tracking shipments
- managing customer wishlists and reviews
- automating abandoned-cart and promotional emails
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Item API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide