Snipget.ai

Money currency symbol resolve

Exact
money_currency_symbol_resolve

Deterministic and authoritative — the canonical answer for this input.

Resolve a standalone currency symbol. Stricter than normalize: returns is_valid=False + is_ambiguous=True when the symbol maps to multiple currencies and no country_hint is given — agents should surface the ambiguity rather than picking silently. A country_hint that resolves the symbol returns a definitive answer: is_ambiguous=False with candidates narrowed to the hint's matches, chosen currency first. Processing multiple inputs? Use `money_currency_symbol_resolve_batch` to do up to 1000 in one call.

Parameters

symbolstringrequired

Currency symbol (e.g. '$', '€').

country_hintstringoptional

Call it

curl -X POST https://api.snipget.ai/v1/money/currency/symbol-resolve \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"symbol":"€"}'

The Batch tab sends up to 1000 inputs in one call via /v1/money/currency/symbol-resolve/batch.

Example response

{
  "input": "€",
  "normalized": "EUR",
  "top_match": {
    "code": "EUR",
    "name": "Euro",
    "symbol": "€",
    "minor_units": 2,
    "countries": [
      "DE",
      "FR",
      "IT",
      "ES",
      "PT",
      "NL",
      "BE",
      "AT",
      "IE",
      "FI",
      "GR",
      "LU",
      "SK",
      "SI",
      "EE",
      "LV",
      "LT",
      "CY",
      "MT",
      "HR"
    ],
    "kind": "fiat"
  },
  "candidates": [
    {
      "code": "EUR",
      "name": "Euro",
      "symbol": "€",
      "minor_units": 2,
      "countries": [
        "DE",
        "FR",
        "IT",
        "ES",
        "PT",
        "NL",
        "BE",
        "AT",
        "IE",
        "FI",
        "GR",
        "LU",
        "SK",
        "SI",
        "EE",
        "LV",
        "LT",
        "CY",
        "MT",
        "HR"
      ],
      "kind": "fiat"
    }
  ],
  "is_ambiguous": false,
  "matched_via": "symbol",
  "is_valid": true
}

FAQ

What is this for?

It turns a bare currency symbol like € or ¥ into its official ISO code (EUR, JPY). Handy when a spreadsheet or invoice only shows the symbol and you need the standard 3-letter code.

How is this different from the normalize tool?

This one is stricter on purpose. When a symbol is shared by several currencies (the classic case is $, used by US, Canadian, Australian dollars and more) and you give no country hint, it returns is_valid=false with the full list of candidates so you can ask the user to clarify. Normalize would instead just pick the most likely default.

How do I resolve an ambiguous symbol like $?

Pass country_hint with a 2-letter country code, for example country_hint 'CA' to get the Canadian dollar. A hint that resolves the symbol returns a definitive answer: is_ambiguous false and the candidates list narrowed to the currencies matching your hint, chosen one first. Without a hint, $ comes back flagged ambiguous with every matching currency listed.

Is the result authoritative?

Yes. It is a deterministic lookup against the ISO 4217 catalog, not a guess, so the same symbol always resolves the same way.

What if the symbol is not a real currency symbol?

A symbol that is not in the ISO 4217 catalog returns confidence 0 with a reason, not an error. symbol is required; country_hint is optional.

Related tools