Find an API

Search public APIs with auth details & Postman guides

← All APIs

Item API

walmart · Commerce

Commerce No Auth Free & Open ecommerce

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

No authentication requiredFree to use with no key needed.

Sample Requests

GET Get status of an item feed

You can display the status of an item within a feed. Use the feed ID returned from the upload an item API.

https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds?limit=50&feedId=example&offset=0&includeDetails=false

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
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));
GET Get status of an item feed

You can display the status of an item within a feed. Use the feed ID returned from the upload an item API.

https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v3/feeds?limit=50&feedId=example&offset=0&includeDetails=false

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
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));
GET Get status of an item within a feed

You can display the status of all items within a feed. Use the feed ID returned from the upload an item API.

https://api.apis.guru/v2/specs/walmart.com/item/3.0.1/v2/feeds/{feedId}?limit=50&offset=0&includeDetails=false

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
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

Get Postman ↗
  1. 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

Open documentation ↗