# Gulfood — 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.

> Access the complete Gulfood exhibitor directory, including exhibitor profiles, products, brands, press releases, and exhibition sectors. Filter by country, category, venue, or keyword to find exhibitors and retrieve detailed profiles with stand locations, contact information, and social media links.

**Category:** Business Directories | **Website:** [gulfood.com/](https://gulfood.com/) | **Docs:** [parse.bot/marketplace/fc9f5aaf-abb8-48f3-8277-67909a64d287/gulfood-com-api](https://parse.bot/marketplace/fc9f5aaf-abb8-48f3-8277-67909a64d287/gulfood-com-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-gulfood-com-api-fc9f5aaf/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### export_all_exhibitors

Compile a dataset of exhibitors including detailed info (description, website, social links) for each. Fetches the exhibitor list and then retrieves detail pages for each one up to the specified limit. Makes many sequential requests and may be slow for large limits.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of exhibitors to export with full details. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gulfood-com-api-fc9f5aaf/export_all_exhibitors \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>"}'
```

### get_brands_list

Fetch brands represented at the event. Returns paginated results of 16 per page. The exhibitor field is typically null for brand entries. Offset advances in multiples of 16; manual paging via the offset parameter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `offset` | integer | No | Pagination offset in multiples of 16. |
| `query` | string | No | Keyword search for brands. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gulfood-com-api-fc9f5aaf/get_brands_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"offset":"<integer>","query":"<string>"}'
```

### get_exhibitor_detail

Get detailed information for a specific exhibitor including description, website, stand location, country, social media links, and logo. Requires the exhibitor slug from the list endpoint.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Exhibitor slug from get_exhibitor_list results (e.g. 'ats-food-llc'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gulfood-com-api-fc9f5aaf/get_exhibitor_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_exhibitor_list

Fetch the paginated list of exhibitors with optional filters. Returns 16 exhibitors per page. Supports filtering by first letter, country, category, venue, and keyword search. Offset advances in multiples of 16; manual paging via the offset parameter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category ID to filter by. |
| `country` | string | No | Country ID(s) to filter by (comma-separated string for multiple). |
| `letter` | string | No | Single letter (A-Z) to filter exhibitors by first letter of name. |
| `offset` | integer | No | Pagination offset in multiples of 16. |
| `query` | string | No | Keyword search query to filter exhibitors by name. |
| `venue` | string | No | Venue ID to filter by. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gulfood-com-api-fc9f5aaf/get_exhibitor_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","country":"<string>","letter":"<string>","offset":"<integer>","query":"<string>","venue":"<string>"}'
```

### get_key_sectors

Get the list of 15 key exhibition sectors and their associated venues at Gulfood 2026. Returns static data; no parameters required.

**Estimated cost:** Metered

_No parameters required._

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

### get_press_releases_list

Fetch press releases from exhibitors. Returns paginated results of up to 16 per page. Supports broad keyword matching. Offset advances in multiples of 16; manual paging via the offset parameter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `offset` | integer | No | Pagination offset in multiples of 16. |
| `query` | string | No | Keyword search for press releases. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gulfood-com-api-fc9f5aaf/get_press_releases_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"offset":"<integer>","query":"<string>"}'
```

### get_products_list

Fetch products listed by exhibitors. Supports keyword search filtering and pagination in groups of 16. Offset advances in multiples of 16; manual paging via the offset parameter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `offset` | integer | No | Pagination offset in multiples of 16. |
| `query` | string | No | Keyword search to filter products by name. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gulfood-com-api-fc9f5aaf/get_products_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"offset":"<integer>","query":"<string>"}'
```

### search_exhibitors

Search for exhibitors by keyword. Returns paginated results of 16 per page. The upstream search performs broad matching and may return results beyond exact keyword matches. Offset advances in multiples of 16; manual paging via the offset parameter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `offset` | integer | No | Pagination offset in multiples of 16. |
| `query` | string | Yes | Search keyword to find exhibitors. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gulfood-com-api-fc9f5aaf/search_exhibitors \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"offset":"<integer>","query":"<string>"}'
```
