Apinoa Docs

Browse

List the products in one Walmart category, with no keyword.

View raw .mdx
GET | POST /v1/walmart/browse

Send parameters as a query string with GET, or as a JSON body with POST. Both are equivalent.

Request

curl "https://gateway.apinoa.com/v1/walmart/browse?categoryId=3944_133251_1095191_1230614_1230478&ratingMin=4" \
  -H "x-api-key: $APINOA_API_KEY"

Parameters

ParameterTypeRequiredNotes
categoryIdstringyesREQUIRED. The underscore-joined chain from a Walmart category URL, e.g. 3944_133251_1095191_1230614_1230478. A bare department or leaf id is refused with CATEGORY_NOT_BROWSABLE — use categories to walk down to a chain.
brandsstring listBrand names as the marketplace spells them, e.g. brands=Nike,Adidas.
facetsstring | object listNarrowings taken from a result's facets, e.g. facets=Color:Black. The escape hatch for filters the typed vocabulary has no word for; prefer a typed parameter where one exists.
pageinteger1-based results page. There is no pageSize — the results page is server-fixed at about 50 organic items — and no cursor, since paging here is by number.
priceMaxnumber ≥ 0Highest price to return, in decimal major units.
priceMinnumber ≥ 0Lowest price to return, in decimal major units.
ratingMinnumber 0–5Lowest average star rating to return, on the marketplace's own 0-5 scale.
regionstringBuyer country as ISO 3166-1 alpha-2; sets availability, shipping and price.
sortenumResult ordering: best_match, price_asc, price_desc, newly_listed or best_seller. Defaults to best_match, Walmart's own relevance ordering. best_match price_asc price_desc newly_listed best_seller

The same parameters, and every response type, are in the OpenAPI document.

Response

Returns SearchResult in data. A real response, shortened: arrays keep their first entries and long text is cut.

{
  "success": true,
  "data": {
    "marketplace": "walmart",
    "page": {
      "index": 1,
      "size": 39,
      "total": 2269
    },
    "items": [
      {
        "marketplace": "walmart",
        "id": "11381374703",
        "title": "Apple AirPods 4",
        "price": {
          "currency": "USD",
          "amount": 99
        },
        "listPrice": {
          "currency": "USD",
          "amount": 129.99
        },
        "url": "https://www.walmart.com/ip/Apple-AirPods-4/11381374703",
        "imageUrl": "https://i5.walmartimages.com/seo/Apple-AirPods-4_43ffea38-e233-4fee-8a6f-7ff92ad713ae.97d6d24546e5cbdfcdc0e2fa52c969b1.…",
        "seller": {
          "name": "Walmart.com",
          "id": "F55CDC31AB754BB68FE0B39041159D63"
        },
        "rating": {
          "average": 4.3,
          "count": 88450
        },
        "status": "In stock",
        "inStock": true,
        "delivery": {
          "carrier": "Shipping",
          "code": "SHIPPING",
          "estimate": "Free shipping, arrives today",
          "free": true
        },
        "shippingOptions": [
          {
            "carrier": "Delivery",
            "code": "DELIVERY",
            "estimate": "Delivery as soon as 13 mins"
          },
          {
            "carrier": "Shipping",
            "code": "SHIPPING",
            "estimate": "Free shipping, arrives today",
            "free": true
          }
        ],
        "deliveryTo": {
          "label": "Sacramento, CA 95829",
          "country": "US",
          "postalCode": "95829"
        },
        "offersSummary": {
          "count": 10
        },
        "category": [
          {
            "id": "3944",
            "name": "Electronics"
          },
          {
            "id": "133251",
            "name": "Audio"
          }
        ],
        "badges": [
          "Rollback"
        ],
        "promotions": [
          "Save with Walmart+"
        ],
        "attributes": [],
        "ext": {
          "optionsFromPrice": {
            "currency": "USD",
            "amount": 68
          }
        }
      }
    ],
    "facets": [
      {
        "id": "price",
        "name": "Price",
        "kind": "range",
        "values": [],
        "min": 0,
        "max": 160,
        "maps_to": "priceMin"
      },
      {
        "id": "brand",
        "name": "Brand",
        "kind": "select",
        "values": [
          {
            "value": "JLab",
            "name": "JLab"
          },
          {
            "value": "JBL",
            "name": "JBL"
          }
        ],
        "maps_to": "brands"
      }
    ]
  }
}

Errors

StatusCodeMeaning
400CATEGORY_NOT_BROWSABLEThe category is a navigation hub with no products. Browse one of its children from categories.
400INVALID_PARAMSA parameter is missing, unknown or out of range. The message names it.
401UNAUTHORIZEDThe x-api-key header is missing, or the key is revoked or unknown.
402INSUFFICIENT_BALANCEThe balance does not cover this call. Top up in the dashboard.
429MARKETPLACE_SATURATEDToo many concurrent calls. Retry after the Retry-After seconds.
502UPSTREAM_ERRORThe platform answered with something unusable. Retry with backoff.

Every code is listed in Errors. Failed calls are not billed.

Pricing

Price $0.001 per call. List price; the rate steps down above 1,000 calls a day.

Notes

  • categoryId is the underscore-joined chain from a Walmart category URL: walmart.com/browse/<dept>/<slug>/3944_133251_1095191_1230614_1230478 gives 3944_133251_1095191_1230614_1230478. A bare leaf id does not resolve on its own; Categories returns chains.
  • Same filters as search, minus the keyword. A query is a 400.
  • The response has no query key and otherwise looks exactly like a search response.

On this page