Skip to content
Walmart

Walmart reviews

One page (10) of Walmart reviews for an item.

POST/v1/walmart/reviews
2 credits

Plain HTTP — no browser, no tokens. The answer carries the review list (rating, title, text, date normalized from Walmart's M/D/YYYY, the "Verified Purchase" badge) plus the summary: average, total, per-star counts and percentages, recommended percentage, and Walmart's own next_page url.

Request

POSThttps://api.scrapercompany.com/v1/walmart/reviews

Authenticate with your API key in the x-api-key header (see Authentication).

Body

JSON object. Unknown fields are rejected with 422.

  • item_idstringrequiredmin length 1, pattern ^\d+$

    Numeric item id returned by POST /v1/walmart/search.

  • pageintegerdefault 1min 1, max 100

    Review page.

  • sortstringdefault relevancy

    Walmart's own review sort.

    One ofhighest-ratinglowest-ratingmost-helpfulmost-recentrelevancy

Example request

curl -X POST "https://api.scrapercompany.com/v1/walmart/reviews" \
  -H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "item_id": "5255687930"
  }'

Response

200 — One page of Walmart reviews with the ratings summary. Metered responses carry x-credits-charged and x-credits-remaining headers (see credit headers).

200 response
{
  "search_parameters": {
    "engine": "walmart_reviews",
    "item_id": "5255687930",
    "page": 1,
    "sort": "relevancy"
  },
  "total": 2484,
  "summary": {
    "average": 4.4,
    "total": 2484,
    "counts": {
      "1": 180,
      "2": 74,
      "3": 148,
      "4": 296,
      "5": 1786
    },
    "percentages": {
      "1": 8,
      "2": 3,
      "3": 6,
      "4": 11,
      "5": 72
    },
    "recommended_pct": 81
  },
  "reviews": [
    {
      "source": "walmart",
      "review_id": "20669430",
      "rating": 5,
      "title": "Comfortable Robe",
      "text": "This robe is absolutely beautiful and so comfortable.",
      "date": "2027-08-07",
      "author": "Rhoda",
      "labels": [
        "Verified Purchase"
      ]
    }
  ],
  "next_page": "sort=relevancy&page=2",
  "meta": {
    "source": "walmart",
    "wire_bytes": 27192,
    "elapsed_s": 1.102
  }
}

Errors

Errors return a JSON body with a detail field. Failed requests are not charged. See Errors for the full list and retry advice.

StatusMeaningRetry?
401Unauthorized

Missing or invalid API key.

{"detail":"missing or invalid API key"}
No, fix the request
402Payment Required

Not enough credits for this request. Only returned once credit enforcement is switched on; during the beta metering runs in shadow mode and never blocks.

{"detail":"insufficient credits: this request costs 5, 0 available. Credits renew 2026-11-01."}
No, fix the request
422Unprocessable Content

Request validation failed. detail is a list of problems for schema errors, or a string for semantic checks performed by the endpoint.

{"detail":[{"loc":["body","name"],"msg":"Field required","type":"missing"}]}
No, fix the request
429Too Many Requests

Too many requests: the key's requests-per-minute limit was exceeded, or (once credit enforcement is on) the plan's concurrent-request limit. No rate-limit or Retry-After headers are sent; back off and retry.

{"detail":"rate limit 60/min exceeded"}
Yes, with backoff
502Bad Gateway

The upstream source failed, blocked the request or returned an unusable answer. Safe to retry later; failed requests are not charged.

{"detail":"RuntimeError"}
Yes, with backoff
503Service Unavailable

Temporarily unavailable: a dependency of this endpoint is down, or the upstream source changed its contract. Retry later.

{"detail":"database unavailable: OperationalError"}
Yes, with backoff

Try it

  1. Export your key: export SCRAPERCOMPANY_API_KEY=sk_... (no key yet? request access).
  2. Copy the cURL example above and run it in a terminal.
  3. Or open the interactive playground on api.scrapercompany.com, paste your key and pick this endpoint.

Credits

2 credits per successful call. Failed, blocked and empty results are free. Credit metering is in beta and does not block requests yet.