# Shop Rema1000 — 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 for groceries across REMA 1000's Danish product catalog by keyword or department, and browse the complete list of departments and their categories. Find exactly what you need from the supermarket's inventory with flexible search options.

**Category:** Food & Dining | **Website:** [shop.rema1000.dk/](https://shop.rema1000.dk/) | **Docs:** [parse.bot/marketplace/3aa2eae7-5732-414c-988c-bde35e471ef7/shop-rema1000-dk-api](https://parse.bot/marketplace/3aa2eae7-5732-414c-988c-bde35e471ef7/shop-rema1000-dk-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-shop-rema1000-dk-api-3aa2eae7/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### list_departments

List all REMA 1000 store departments and their categories. Each department contains sub-categories that can be used for browsing. Department IDs can be used to filter products in the search_products endpoint.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-shop-rema1000-dk-api-3aa2eae7/list_departments \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_products

Search and list REMA 1000 products by keyword, optionally filtered by department. Results are sorted by popularity by default. When query is empty and a department_id is provided, returns all products in that department. Results are paginated with up to 100 items per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `department_id` | string | No | Department ID to filter products. Obtain from list_departments endpoint (e.g. 10, 20, 60). |
| `page` | integer | No | Page number for pagination (1-based). |
| `per_page` | integer | No | Number of products per page, between 1 and 100. |
| `query` | string | No | Search query string to match product names and descriptions. |
| `sort` | string | No | Sort order for results. Use '-popularity' for most popular first, 'name' for alphabetical, '-name' for reverse alphabetical. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-shop-rema1000-dk-api-3aa2eae7/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"department_id":"<string>","page":"<integer>","per_page":"<integer>","query":"<string>","sort":"<string>"}'
```
