Developer guide › Guides

Several live prices in one request

Fetch gold, EUR/USD and GBP/USD together and print a small price board with spreads and freshness.

The request

/v1/prices takes a comma-separated list of symbols and returns one quote per symbol, in the order you asked for them.

curl -H "X-API-Key: $TICKFEED_API_KEY" "https://api.tickfeed.pro/v1/prices?symbols=XAUUSD,EURUSD,GBPUSD"

Cost: this request (one unit per symbol): 3 units. One unit is $0.002 / £0.002 / €0.002 (in your account's currency), taken from your prepaid balance only when the request succeeds. Full prices.

A real response

Sample response to GET /v1/prices?symbols=XAUUSD,EURUSD,GBPUSD, captured from the live API on 02 November 2026 at 13:49 UTC. It's a real past response, not live data: prices have moved since.

{
  "prices": [
    {
      "symbol": "XAUUSD",
      "bid": 3942.98,
      "ask": 3943.15,
      "spread": 0.17,
      "spread_points": 17,
      "point": 0.01,
      "tick_time": "2026-11-02T13:49:13.715000Z",
      "age_seconds": 0.244,
      "freshness": "fresh",
      "market_open": true,
      "stale_after_seconds": 120,
      "source": "live"
    },
    {
      "symbol": "EURUSD",
      "bid": 1.12185,
      "ask": 1.12193,
      "spread": 8e-05,
      "spread_points": 8,
      "point": 1e-05,
      "tick_time": "2026-11-02T13:49:13.458000Z",
      "age_seconds": 0.501,
      "freshness": "fresh",
      "market_open": true,
      "stale_after_seconds": 120,
      "source": "live"
    },
    {
      "symbol": "GBPUSD",
      "bid": 1.34161,
      "ask": 1.34171,
      "spread": 0.0001,
      "spread_points": 10,
      "point": 1e-05,
      "tick_time": "2026-11-02T13:49:13.657000Z",
      "age_seconds": 0.302,
      "freshness": "fresh",
      "market_open": true,
      "stale_after_seconds": 120,
      "source": "live"
    }
  ]
}

Print a price board

from tickfeed import TickFeed

tf = TickFeed()
for q in tf.prices(["XAUUSD", "EURUSD", "GBPUSD"])["prices"]:
    flag = "" if q["freshness"] == "fresh" else f"  ({q['freshness']})"
    print(f"{q['symbol']:<7} bid {q['bid']:<10} ask {q['ask']:<10} spread {q['spread_points']} pts{flag}")

spread is in price units (dollars for gold, the quote currency for pairs); spread_points is the same spread counted in points, the smallest price step for that symbol, so it's easier to compare across instruments.

More short guides