> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cotizave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Market catalog

> List the rates you can request, with their name, aliases and whether your plan includes them.

`GET /v1/fx/markets` · From the Esencial plan. It returns no prices: it lists the markets that exist and how to request them.

<span id="request" />

## Request

No parameters. Unknown parameters return `400 unknown_parameter`.

Examples run on the server. JavaScript and Python use the clients from the [quickstart](/en/api/quickstart#paso-2); set `COTIZAVE_API_KEY` there.

<CodeGroup>
  ```bash curl theme={null}
  curl --fail-with-body --max-time 10 "https://api.cotizave.com/v1/fx/markets" \
    -H "X-API-Key: $COTIZAVE_API_KEY"
  ```

  ```javascript Node.js theme={null}
  import { cotizave } from './cotizave.mjs';

  const data = await cotizave('/v1/fx/markets');
  console.log(data);
  ```

  ```python Python theme={null}
  from cotizave import cotizave

  data = cotizave('/v1/fx/markets')
  print(data)
  ```
</CodeGroup>

<span id="response" />

## Response

Illustrative response: the actual list depends on the markets available at that moment.

```json theme={null}
{
  "markets": [
    {
      "id": "reference",
      "name": "BCV dólar",
      "type": "reference",
      "base": "USD",
      "aliases": ["bcv"],
      "stale_after_sec": 475200,
      "available": true,
      "required_plan": null
    },
    {
      "id": "binance",
      "name": "Binance P2P",
      "type": "p2p",
      "base": "USD",
      "aliases": [],
      "stale_after_sec": 1800,
      "available": true,
      "required_plan": null
    },
    {
      "id": "cash",
      "name": "Efectivo",
      "type": "cash",
      "base": "USD",
      "aliases": [],
      "stale_after_sec": 10800,
      "available": false,
      "required_plan": "Escala"
    }
  ]
}
```

| Field | Meaning |
| - | - |
| `id` | The name used in [`/rates/:market`](/en/api/endpoints/get-rate-by-market), `via` in [`/convert`](/en/api/endpoints/convert) and the rest of the API. |
| `name` | Display name for your users. |
| `type` | `reference`, `parallel`, `p2p`, `remittance`, `exchange_house` or `cash`. |
| `base` | Currency quoted in VES: `USD` or `EUR`. |
| `aliases` | Other names the API accepts for that market, such as `bcv`. Other endpoints always respond with `id`. |
| `stale_after_sec` | Age after which the quote is flagged `stale`. Each source has its own threshold. |
| `available` | Whether your plan includes that market. |
| `required_plan` | If it does not, the cheapest plan that does. `null` when every plan has it. |

The order follows the rates table: official, parallel, P2P, remittances, exchange houses and cash.

<span id="errores" />

## Errors

On the Gratis and Inicio plans it returns `402 feature_not_in_plan`. The [common errors](/en/api/errors) for authentication, quota or availability can also occur.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.