# Migros (Türkiye) — 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 and browse Migros supermarket products by category, view detailed product information including pricing, and discover current discounts and promotional campaigns. Easily find specific items and explore what's on sale at Migros.com.tr.

**Category:** Food & Dining | **Website:** [migros.com.tr/](https://migros.com.tr/) | **Docs:** [parse.bot/marketplace/03669a97-0c5c-4f69-a6f4-50842b15e21d/migros-com-tr-api](https://parse.bot/marketplace/03669a97-0c5c-4f69-a6f4-50842b15e21d/migros-com-tr-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-migros-com-tr-api-03669a97/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_campaigns

Retrieve list of active campaigns and promotions currently running on Migros. Returns campaign metadata including name, description, image URLs, end date, and a URL-friendly slug.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-migros-com-tr-api-03669a97/get_campaigns \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_categories

Retrieve the full category tree of the Migros supermarket. Returns a nested list of categories with their metadata (id, name, pretty_name, images, depth, parent_id, color) and child categories. Each category's pretty_name serves as the slug for browsing products within that category via get_products_by_category.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-migros-com-tr-api-03669a97/get_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_discounted_products

Retrieve all products currently on discount. Returns paginated results from the discounted products category. Results are paginated with 30 items per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (1-indexed). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-migros-com-tr-api-03669a97/get_discounted_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### get_product_detail

Retrieve full details for a single product using its SKU. Returns extended product information including HTML description, nutritional data, all ancestor categories, availability status, and badges. SKU identifiers are obtained from search_products or get_products_by_category results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `sku` | string | Yes | Product SKU identifier (e.g. '11011530'). Obtainable from search_products or get_products_by_category results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-migros-com-tr-api-03669a97/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sku":"<string>"}'
```

### get_products_by_category

Browse products within a specific category using its slug. Returns paginated product results for the given category. Category slugs (pretty_name values) are obtained from get_categories. Results are paginated with 30 items per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_slug` | string | Yes | Category slug (pretty_name) from get_categories (e.g. 'meyve-sebze-c-2'). |
| `page` | integer | No | Page number (1-indexed). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-migros-com-tr-api-03669a97/get_products_by_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_slug":"<string>","page":"<integer>"}'
```

### search_products

Search for products by keyword with pagination. Returns matching products along with pagination metadata. The query matches product names and brands. Results are paginated with 30 items per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (1-indexed). |
| `query` | string | Yes | Search keyword (e.g. 'sut' for milk products, 'ekmek' for bread). |

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