# Walmart (Canada) — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search Walmart Canada products and retrieve detailed information like prices, availability, and specifications. Find nearby Walmart pharmacy locations to check services and hours.

**Category:** E-commerce | **Website:** [walmart.ca/](https://walmart.ca/) | **Docs:** [parse.bot/marketplace/d90c71b1-ca65-4761-98cd-4764be1cc76f/walmart-ca-api](https://parse.bot/marketplace/d90c71b1-ca65-4761-98cd-4764be1cc76f/walmart-ca-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-walmart-ca-api-d90c71b1/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_pharmacies

Retrieve a list of all Walmart pharmacy locations in Canada.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-walmart-ca-api-d90c71b1/get_pharmacies \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_product_details

Get detailed product information for a single Walmart Canada item, including price, specifications, and customer reviews. Requires the product_id (Walmart Item ID); optionally accepts a URL slug for more reliable fetching. Returns a flat object with product fields, a reviews sub-object, and a specifications array.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | Walmart Item ID (e.g. '39BXA5GSMOSP'). Obtainable from search_products results. |
| `slug` | string | No | URL slug for the product (e.g. 'RNRUO-15-6-Laptop-Computer...'). When provided, improves reliability of the fetch. Obtainable from search_products results by extracting the path segment before the product_id in the url field. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-walmart-ca-api-d90c71b1/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"<string>","slug":"<string>"}'
```

### search_products

Search for products on Walmart Canada by keyword. Returns product listings with price, brand, rating, and availability information. Paginates via integer page number. Some queries may be redirected by Walmart to category pages, resulting in an upstream_error.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return per page |
| `page` | integer | No | Page number for pagination |
| `query` | string | Yes | Search keyword (e.g. 'laptop', 'headphones') |
| `sort` | string | No | Sort order for search results |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-walmart-ca-api-d90c71b1/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>","sort":"<string>"}'
```
