---
title: "El Salvador Tourism Places Search"
method: POST
path: "/sv/mitur-sv/places-search/v1"
tags: ["El Salvador", "Ministerio de Turismo de El Salvador"]
---

# El Salvador Tourism Places Search

`POST /sv/mitur-sv/places-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/sv/mitur-sv/places-search/v1`
- Auth: HTTP bearer

Search El Salvador's official tourism directory, kept by the Ministerio de Turismo: destinations, public and private tourist sites, restaurants, lodging, transport, recreation, tourist information, surf schools and certified tour guides. Free text matches the name, description, address, town and region. Filter by `kind`, `theme` (`surf_city`, `bitcoin`, `nature_adventure`, `archaeology`, `towns`, `wellness`, `regional`), `department`, `municipality`, the `language` a guide works in, and `registered_only` for businesses in the national tourism registry. Businesses carry the contact details the directory publishes; guides carry their languages and area, not personal contacts. Served by Croma (`as_of` says how current the data is).

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `query` string: Optional search terms matched against the name, the description, the address, the town and the region.
  - `kind` '' | 'destination' | 'attraction' | 'restaurant' | 'lodging' | 'transport' | 'recreation' | 'tourist_info' | 'surf_school' | 'guide': Optional kind of place: `destination`, `attraction` (a tourist site, public or private), `restaurant`, `lodging`, `transport`, `recreation`, `tourist_info`, `surf_school` or `guide` (a certified tour guide).
  - `theme` '' | 'surf_city' | 'bitcoin' | 'nature_adventure' | 'archaeology' | 'towns' | 'wellness' | 'regional': Optional theme the Ministerio de Turismo files a destination under: `surf_city`, `bitcoin` (its Bitcoin destinations), `nature_adventure`, `archaeology`, `towns`, `wellness` or `regional` (destinations in neighbouring countries).
  - `department` '' | 'Ahuachapán' | 'Cabañas' | 'Chalatenango' | 'Cuscatlán' | 'La Libertad' | 'La Paz' | 'La Unión' | 'Morazán' | 'San Miguel' | 'San Salvador' | 'San Vicente' | 'Santa Ana' | 'Sonsonate' | 'Usulután': Optional department of El Salvador, e.g. `La Libertad`, `Santa Ana`, `Usulután`.
  - `municipality` string: Optional town or municipality, e.g. `Suchitoto`, `Tamanique`, `Concepción de Ataco`, matched from the start. Case and accents are ignored.
  - `language` '' | 'es' | 'en' | 'fr' | 'it' | 'de' | 'pt' | 'nah': Optional language a tour guide works in, as an ISO 639 code: `es`, `en`, `fr`, `it`, `de`, `pt` or `nah` (Náhuat).
  - `registered_only` boolean: When true, only businesses inscribed in the national tourism registry (Registro Nacional de Turismo).
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Results per page (1-50).

## Response `200`

Successful response

- MiturSvPlacesSearchResponse
  - `data` MiturSvPlacesSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `query` string, required
    - `kind` string, nullable, required
    - `theme` string, nullable, required
    - `department` string, nullable, required
    - `municipality` string, nullable, required
    - `language` string, nullable, required
    - `registered_only` boolean, required
    - `total` number, required: Matches, counted up to 1000.
    - `total_is_exact` boolean, required: False when more than 1000 match: `total` is then 1000, and the pages go on.
    - `page` number, required
    - `per_page` number, required
    - `total_pages` number, required: Pages over `total`; there are more when `total_is_exact` is false.
    - `count` number, required
    - `results` object[], required
      - `id` string, required: The place's permanent id in the official tourism directory, e.g. "2905".
      - `slug` string, required: The place's slug on the official tourism site, e.g. "berlin".
      - `name` string, required: The place's name as the Ministerio de Turismo lists it.
      - `kind` 'destination' | 'attraction' | 'restaurant' | 'lodging' | 'transport' | 'recreation' | 'tourist_info' | 'surf_school' | 'guide', required: `destination`, `attraction` (a tourist site), `restaurant`, `lodging`, `transport`, `recreation`, `tourist_info`, `surf_school` or `guide` (a certified tour guide).
      - `themes` string[], required: The themes a destination is filed under: `surf_city`, `bitcoin`, `nature_adventure`, `archaeology`, `towns`, `wellness` or `regional`. Empty for other kinds.
      - `guide_level` 'site' | 'local' | 'national', nullable, required: For a guide: certified for one `site`, `local` or `national`. Null for other kinds.
      - `registered` boolean, required: Whether the business is inscribed in the national tourism registry (Registro Nacional de Turismo).
      - `access` 'public' | 'private', nullable, required: For a tourist site: whether it is public or privately run. Null for other kinds.
      - `department` 'Ahuachapán' | 'Cabañas' | 'Chalatenango' | 'Cuscatlán' | 'La Libertad' | 'La Paz' | 'La Unión' | 'Morazán' | 'San Miguel' | 'San Salvador' | 'San Vicente' | 'Santa Ana' | 'Sonsonate' | 'Usulután', nullable, required: The department of El Salvador the place is in.
      - `municipality` string, nullable, required: The town or municipality, e.g. "Tamanique".
      - `region` string, nullable, required: The tourism region the Ministerio places a destination in, e.g. "La Libertad Costa".
      - `languages` string[], required: For a guide: the languages they work in, as ISO 639 codes.
      - `hours` string, nullable, required: Opening hours and fees as published.
      - `phones` string[], required: Contact phone numbers. Empty for guides.
      - `emails` string[], required: Contact email addresses. Empty for guides.
      - `address` string, nullable, required: The address as published. Null for guides.
      - `website` string, nullable, required: The business's own website.
      - `whatsapp` string, nullable, required: A WhatsApp number or link.
      - `social_links` string[], required: The business's own social media pages.
      - `official_url` string, required: The place's page on the official tourism site.
      - `updated_at` string, required: When the Ministerio last changed the listing.
      - `summary` string, nullable, required: The opening of a destination's description, at most about 320 characters. Null for listings.

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
