~ / endpoints / Price Monitoring API

Walmart Price Scraper API

Our Walmart price scraper takes any item URL or us_item_id and returns the current price, currency, seller, and stock status as JSON. Poll it on a schedule and store each reading to build the price history that Walmart never hands you.

Get a free API keyBrowse the endpoints
1,000
free requests / mo
2.6s
median response
JSON
structured output
1
call per check

Quickstart

cURL
curl "https://api.walmartscraperapi.com/api/v1/walmart/product?url=https://www.walmart.com/ip/808715278&api_key=$API_KEY"
Python
import requests, datetime

BASE = "https://api.walmartscraperapi.com"
API_KEY = "YOUR_API_KEY"

def check_price(url):
    data = requests.get(
        f"{BASE}/api/v1/walmart/product",
        params={"url": url, "api_key": API_KEY},
        timeout=30,
    ).json()
    return {
        "ts": datetime.datetime.utcnow().isoformat(),
        "item": data["us_item_id"],
        "price": data["price"]["price"],
        "currency": data["price"]["currency"],
        "seller": data["seller"]["name"],
        "out_of_stock": data["fulfillment"]["out_of_stock"],
    }

# Run this on a schedule (cron, a worker) and append each row to your store
# to build the price history Walmart does not expose.
print(check_price("https://www.walmart.com/ip/808715278"))

Response

200 OK
{
  "general": {
    "title": "Cuisinart Stainless Steel 12-Cup Coffee Maker, Black",
    "brand": "Cuisinart",
    "url": "https://www.walmart.com/ip/Cuisinart-12-Cup-Coffeemaker-Stainless-Steel-Black/808715278",
    "meta": { "gtin": "086279180261", "sku": "808715278" }
  },
  "price": { "currency": "USD", "price": 69.95 },
  "rating": { "rating": 4.5, "count": 4720 },
  "seller": { "id": "F55CDC31AB754BB68FE0B39041159D63", "name": "Walmart.com", "official_name": "Walmart.com" },
  "fulfillment": { "out_of_stock": false, "free_shipping": false },
  "us_item_id": "808715278",
  "product_id": "4NN9ZW0AZYDK",
  "model": "DCC-1220BKSWM"
}
FieldTypeDescription
price.pricenumberThe current numeric price parsed from the live item page.
price.currencystringThe price currency, e.g. USD.
seller.namestringThe seller of the current offer, so you can tell Walmart.com from a marketplace seller when the price changes hands.
seller.idstringThe seller's Walmart id.
fulfillment.out_of_stockbooleanTrue when the item is out of stock, so a price of record is not mistaken for an available offer.
fulfillment.free_shippingbooleanTrue when the current offer ships free.
general.titlestringThe product title, handy for labeling each price row.
us_item_idstringThe stable Walmart listing id to key your price history on.

Params

ParameterRequiredDefaultNotes
urlrequired-The Walmart product page URL to price-check, e.g. https://www.walmart.com/ip/808715278. This is the primary input. Required unless you pass id.
idoptional-Alias for the numeric Walmart us_item_id, e.g. 808715278. We build the /ip/{id} URL from it. One of url or id is required.
countryoptional-Optional two-letter country code to fetch the price as seen from that region.
api_keyrequired-Your API key, passed as a query parameter. Get one free at signup.

Use it for

>

Repricing and MAP checks

Poll competitor listings to keep your own prices in line and flag when a seller drops below your minimum advertised price.
>

Price-history charts

Store each price reading with a timestamp to build the historical price graph Walmart does not expose on the item page.
>

Price-drop alerts

Compare the latest price to the last stored value and fire an alert when an item you watch falls below a threshold.
>

Buy-box and seller tracking

Watch the seller field to catch when the winning offer moves between Walmart.com and marketplace sellers at a new price.

Pricing

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What is a Walmart price scraper?

A Walmart price scraper is a tool that reads an item's current price from its public page and returns it in a structured format. Our Walmart price scraper API takes a product URL or us_item_id and returns the current price, currency, seller, and stock status as JSON, so you can poll it on a schedule and store each reading for price monitoring.

How do I monitor a Walmart price over time?

Call the walmart/product endpoint for the item on a schedule (a cron job or worker), take the price.price, price.currency, seller.name, and fulfillment.out_of_stock from each response, and append a timestamped row to your own store keyed on the us_item_id. Repeating that build the price history Walmart itself does not display, and you decide the cadence and retention.

Does Walmart show historical prices?

No. The Walmart item page shows only the current price, and there is no public history for how that price has moved. To track price over time you have to capture the current price yourself at intervals and store it. Our price scraper returns the current price on every call, which is the reading you log to assemble a history and drive drop alerts.

Can I set price-drop alerts?

Yes, on your side. Each call returns the current price.price, so compare it to the last value you stored for that us_item_id and trigger an alert when it falls below a threshold or by a percentage. Because the response also includes fulfillment.out_of_stock, you can skip alerts on listings that are not actually purchasable at that price.

Why does a direct price check on Walmart fail?

Walmart blocks datacenter IP ranges and renders the price client-side inside its __NEXT_DATA__ JSON, so a direct fetch from a cloud server tends to return a challenge screen rather than the price. Our API routes through residential IPs, handles the anti-bot layer, and parses that JSON, which is why it returns the current price where a plain request does not.

How fast is the Walmart price scraper API?

Median end-to-end response is about 2.6 seconds per check, which includes residential proxy routing, anti-bot handling, retries, and parsing. Because you pay only for successful checks, a frequent monitoring schedule bills for the readings that come back rather than for retries behind them.

Get price monitoring api as JSON
Free plan, 1,000 requests. No credit card required.
Get a free API key All endpoints