# List Currencies — UniRateAPI

> List every currency code supported by UniRate for exchange rate and conversion operations. Use this to discover valid values before calling Convert Currency or Get Exchange Rates, or to check whether a currency code you already have is…

- Key: `unirateapi-list-currencies`
- Type: Action (Read-only)
- Version: 0.0.2
- App: UniRateAPI (`unirateapi`) — https://pipedream.com/apps/unirateapi.md
- This page (HTML): https://pipedream.com/apps/unirateapi/actions/list-currencies
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/unirateapi/actions/list-currencies/list-currencies.mjs

## Description

List every currency code supported by UniRate for exchange rate and conversion operations. Use this to discover valid values before calling **Convert Currency** or **Get Exchange Rates**, or to check whether a currency code you already have is supported. Takes no parameters and returns the full set in a single response as `{ currencies, count }` — codes only, without currency names or rates. These are currency codes (e.g. `USD`, `EUR`, `GBP`) and are unrelated to the EU VAT country codes used by **Get VAT Rates**. [See the documentation](https://unirateapi.com/apidocs).

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "unirateapi",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "unirateapi-list-currencies",
  arguments: {},
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "unirateapi-list-currencies",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    unirateapi: { authProvisionId: "apn_xxxxxxx" },
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "unirateapi-list-currencies",
    "configured_props": {
      "unirateapi": { "authProvisionId": "apn_xxxxxxx" }
    }
  }'
```

---

- App: https://pipedream.com/apps/unirateapi.md · All apps: https://pipedream.com/apps
