---
title: "Search or browse ranked offerings using the marketplace search engine. Supply structured constraints alongside natural-language service text. A date checks the schedule, not capacity for a party. Prices are in the offering's own currency; budget filters never compare unlike currencies"
method: POST
path: "/search"
tags: ["WellFred public API"]
---

# Search or browse ranked offerings using the marketplace search engine. Supply structured constraints alongside natural-language service text. A date checks the schedule, not capacity for a party. Prices are in the offering's own currency; budget filters never compare unlike currencies

`POST /search`

## Request

- Base URL: `https://app.wellfred.com/api/agent`
- URL: `https://app.wellfred.com/api/agent/search`
- Auth: none declared

## Request body

- AgentSearchRequest
  - `query` string, nullable
  - `provinceUuid` string, uuid, nullable
  - `zoneUuid` string, uuid, nullable
  - `nearMe` boolean, nullable
  - `area` string, nullable
  - `categoryHint` string, nullable
  - `categoryUuid` string, uuid, nullable
  - `subcategoryUuid` string, uuid, nullable
  - `lat` number, nullable
  - `lng` number, nullable
  - `delivery` 'in-home' | 'on-location' | 'null', nullable
  - `date` string, date, nullable
  - `partySize` integer, nullable
  - `maxPrice` number, nullable
  - `currency` 'USD' | 'CRC' | 'null', nullable: Kept in step with what an offering can actually be priced in / measured by, so a filter can name every real value rather than silently hiding the units it forgot.
  - `priceUnit` 'session' | 'hour' | 'day' | 'kg' | 'km' | 'liter' | 'item' | 'person' | 'null', nullable
  - `limit` integer, nullable

## Response `200`

- object
  - `success` boolean, required
  - `message` string, required
  - `searchMode` string, required
  - `strongResultCount` integer, required
  - `results` object[], required
    - `serviceId` string, required
    - `providerUuid` string, required
    - `providerName` string, required
    - `title` string, required
    - `price` number, nullable, required
    - `currency` string, required
    - `priceUnit` string, required
    - `pricingType` string, required
    - `delivery` string, required
    - `schedulingMode` string, required
    - `nextAction` string, required
    - `url` string, required
    - `matchQuality` string, required
    - `alternativeOfferings` object[], required
      - `serviceId` string, required
      - `providerUuid` string, required
      - `providerName` string, required
      - `title` string, required
      - `price` number, nullable, required
      - `currency` string, required
      - `priceUnit` string, required
      - `pricingType` string, required
      - `delivery` string, required
      - `schedulingMode` string, required
      - `nextAction` string, required
      - `url` string, required
      - `matchQuality` string, required
  - `location` string, required
  - `recommendation` union, required
    - string
    - 'Please clarify the town or district, or provide coordinates, before searching nearby.' | 'No matching offerings in this search. Broaden the filters or request quotes.'
  - `availabilityChecked` string, required
  - `partySize` integer, required
  - `notice` 'Schedule checks do not guarantee capacity for a party. Starting prices are estimates; priceUnit describes what the price covers. In-home service areas must be confirmed for the exact address.', required

## Other responses

- `422`: Validation error

---

[API](https://skmtc.dev/wellfred/apis/wellfred-api.md) · [All operations](https://skmtc.dev/wellfred/apis/wellfred-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wellfred/apis/wellfred-api/revisions/5a6665793917?raw)
