Getting started with Turkmenistani Manat (TMT) Price API

Metals-API 7 min read
Getting started with Turkmenistani Manat (TMT) Price API

You need to display, convert, or reconcile prices against the Turkmenistani Manat (TMT) and you want an API you can wire into your stack in minutes. By the end of this guide, you’ll pull the latest USD/TMT rate from Metals-API, understand how to interpret the response, and compute both TMT→USD and USD→TMT conversions reliably in production.

What you’ll build: live USD⇄TMT lookups you can ship

We’ll focus on a single, production-oriented flow: getting the latest TMT price versus USD and using it to price transactions, update product catalogs, or snapshot ledger values. We’ll cover:

Illustration: Getting started with Turkmenistani Manat (TMT) Price API
  • How to query the Latest endpoint for TMT
  • How to interpret base currency and pair symbols like USDTMT
  • Converting between USD and TMT safely and efficiently
  • Practical details: timestamps, caching, and weekend handling

If you later decide to add metals (quoted per troy ounce) or other currencies, expand with the official references in the Documentation and the complete Symbols list.

Endpoint: Latest TMT rate with USD as base

Metals-API returns rates relative to a base currency by default. Unless you change it, the base is USD. That means:

  • rates.TMT = TMT per 1 USD
  • rates.USDTMT (when present) = USD per 1 TMT

For pricing, this is convenient because most back-office systems store prices in USD. You can quote or invoice in TMT by multiplying USD amounts by rates.TMT, or convert inbound TMT to USD using rates.USDTMT (or 1 / rates.TMT when USDTMT is not included).

Copy-paste curl request

Request the latest TMT price. Only the symbols parameter is required to filter to TMT:

curl "https://metals-api.com/api/latest?access_key=YOUR_API_KEY&symbols=TMT"

Official JSON response and what it means

This is a real response for the request above. Use it to validate your parser and calculations:

{"success":true,"timestamp":1792973280,"date":"2026-10-26","base":"USD","rates":{"TMT":3.510005,"USD":1,"USDTMT":0.28489987906000136}}

Fields to use in your app:

  • success: Boolean; check before using the payload.
  • timestamp: Unix seconds; align caching and audit with this value.
  • date: Calendar date of the snapshot (UTC).
  • base: Expected to be USD unless you override it.
  • rates.TMT: TMT per 1 USD. Example: 1 USD ≈ 3.510005 TMT.
  • rates.USDTMT: USD per 1 TMT (provided in this payload). Example: 1 TMT ≈ 0.28489987906000136 USD.

How to convert amounts correctly

Given base=USD:

  • USD to TMT: amount_usd × rates.TMT
  • TMT to USD: amount_tmt × rates.USDTMT (preferred when available)
  • If rates.USDTMT is not present: amount_tmt ÷ rates.TMT

Numeric stability tip: if both TMT and USDTMT are present, use the direct quote that matches your operation (e.g., use USDTMT for TMT→USD) to avoid compounding rounding error.

JavaScript example: fetch and convert

async function fetchLatestTMT() {
  const url = "https://metals-api.com/api/latest?access_key=YOUR_API_KEY&symbols=TMT";
  const res = await fetch(url, { method: "GET" });
  if (!res.ok) throw new Error("HTTP " + res.status);
  const data = await res.json();

  if (!data.success) throw new Error("API error");

  const { timestamp, date, base, rates } = data;
  if (!rates || typeof rates.TMT !== "number") {
    throw new Error("Missing TMT rate");
  }

  const tmtPerUsd = rates.TMT; // TMT per 1 USD
  const usdPerTmt = typeof rates.USDTMT === "number" ? rates.USDTMT : 1 / tmtPerUsd;

  // Example conversions your app may need:
  const invoiceUsd = 1250.00;
  const invoiceTmt = invoiceUsd * tmtPerUsd;

  const customerPaysTmt = 10000;
  const settlementUsd = customerPaysTmt * usdPerTmt;

  return {
    asOf: new Date(timestamp * 1000).toISOString(),
    date,
    base,
    tmtPerUsd,
    usdPerTmt,
    invoiceUsd,
    invoiceTmt,
    customerPaysTmt,
    settlementUsd
  };
}

fetchLatestTMT()
  .then(console.log)
  .catch(console.error);

Operational details that save time

  • Base currency: If you don’t specify base, USD is assumed. For TMT, keeping base=USD is often simplest.
  • Timestamps and timezone: timestamp is a Unix epoch (seconds) and date is the UTC calendar date. Store both with the payload to align downstream analytics and cache invalidation.
  • Caching: Honor the timestamp. If you poll more frequently than your plan’s update granularity, responses may be unchanged; cache for the lifecycle your app can tolerate to reduce load and latency.
  • Weekends/market closures: Currency rates can be static or nearly static over weekends and holidays. Avoid assuming a daily change. Always check date/timestamp before triggering alerts or revaluations.
  • Precision: Use decimal libraries if you reconcile ledgers. Avoid floating-point rounding surprises when multiplying large TMT figures by USD quotes.
  • Units note: Metals are quoted per troy ounce in Metals-API responses. That does not apply to TMT, but if you later add XAU/XAG/XPT, remember the unit returned is “per troy ounce.”

Expanding beyond the latest snapshot

For production apps, you will likely want historical context (e.g., day-over-day changes or weekly charts). Metals-API provides dedicated endpoints for historical and time-series retrieval. Since this article focuses on TMT and the latest rate, we won’t output additional JSON here, but you can add these flows quickly:

  • Historical rates: pull a single prior date for TMT to compute day-over-day deltas.
  • Time series: fetch a bounded range of daily TMT snapshots to power charts or volatility checks.

Find the parameters and response formats in the Documentation. Confirm the exact TMT symbol on the Symbols page before productionizing queries.

Symbol and pair reference for TMT

Symbol Meaning How to use
TMT Turkmenistani Manat With base=USD (default), rates.TMT is TMT per 1 USD. Multiply USD amounts by rates.TMT to quote in TMT.
USD United States Dollar (base) rates.USD is typically 1 when base=USD. Use it for sanity checks only.
USDTMT USD per 1 TMT When provided, multiply TMT amounts by rates.USDTMT to settle or report in USD without inverting.

Production rollout checklist

  • Key management: Store YOUR_API_KEY in your secrets manager or CI/CD vaults, never in source control.
  • Resilience: Wrap calls with timeouts and retries; log the timestamp, date, and full rate object for audits.
  • Ratelimiting: Batch requests by symbols where possible (e.g., include TMT plus the few other currencies you need) to minimize calls.
  • Alerting: Base alerts on percentage thresholds and confirm that the timestamp increased since the last snapshot.
  • Idempotence: For financial postings, persist the exact rate and timestamp you used to compute amounts to ensure reproducible statements.

Where this is used

  • E-commerce: Show cart totals in TMT and reconcile settlements back to USD at the snapshot rate used at checkout.
  • ERP/accounting: Month-end revaluation of TMT-denominated receivables in USD using the latest available snapshot for the closing date.
  • Trading and research: Track TMT exposures alongside commodity legs; if you onboard metals later, remember metals are per troy ounce and still relative to a base currency.

Pricing and access

There is no free trial. To get an API key and start integrating, use the Register link. If you also work with copper, note that the Copper Monthly plan is $19.99/month. For coverage details and capabilities across metals and currencies, review MCP.

Additional references

FAQ

Q: Is the response in real time?
A: The Latest endpoint returns the most recent rate available for your plan’s update frequency. Always check the timestamp field and design your cache/refresh policy accordingly.

Q: How do I get USD per TMT if only TMT is returned?
A: Compute 1 / rates.TMT to derive USD per TMT when rates.USDTMT is not included. Prefer rates.USDTMT when present to avoid rounding error.

Q: Do I need to set base=TMT?
A: Typically no. With base=USD you’ll get rates.TMT (TMT per USD) and often rates.USDTMT. Keeping USD as base simplifies multi-currency portfolios and reporting.

Q: How should I handle weekends and holidays?
A: Currency markets may be inactive or show minimal changes; you can still receive a valid snapshot. Use the timestamp and date to ensure you aren’t double-counting a stale rate and avoid firing change alerts without a new timestamp.

Q: Can I mix TMT with metals like XAU in one call?
A: Yes—submit multiple comma-separated symbols to reduce requests. Remember metals are quoted per troy ounce, while currencies are quoted per base unit. Confirm exact codes on the Symbols page.

Ready to price, convert, and reconcile with Turkmenistani Manat in your app? Get your API key from the Register page, check the endpoint details in the Documentation, verify codes on Symbols, and review coverage on MCP.