Farbeam
Docs / API: Tokens

Token report

Returns market data, contract and authority checks, top holders and largest pools.

GET/api/v1/tokens/{chain}/{address}
PropertyValue
AuthenticationOptional. A key raises your limit.
Rate-limit cost3 units
StatusLive

#Parameters

NameInTypeRequiredDescription
chainpathstringYesOne of ethereum, base, bnb, arbitrum, optimism, polygon, solana.
addresspathstringYesToken contract or mint address.

#Request

curl -s "https://farbeamlabs.com/api/v1/tokens/solana/JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
const res = await fetch("https://farbeamlabs.com/api/v1/tokens/solana/JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN");
const { data, meta, error } = await res.json();
if (error) throw new Error(`${error.code}: ${error.message}`);
console.log(data);
import os, requests

res = requests.get(
    "https://farbeamlabs.com/api/v1/tokens/solana/JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
    timeout=30,
)
body = res.json()
if "error" in body:
    raise RuntimeError(body["error"]["code"])
print(body["data"])

You can send this request now in the API playground.

#Response

This response is real. It was captured from the running API when this page was built. Arrays are cut to two items.

JSON
{
  "data": {
    "chain": "solana",
    "address": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
    "label": null,
    "token": {
      "symbol": "JUP",
      "name": "Jupiter",
      "decimals": 6,
      "total_supply": 6861485737.212101,
      "holder_count": 827790
    },
    "market": {
      "price_usd": 0.2575,
      "fdv_usd": 1815501531,
      "market_cap_usd": 860905488,
      "liquidity_usd": 3719080.69,
      "volume_24h_usd": 28289891.33,
      "price_change_24h_pct": 4.52,
      "txns_24h": 55883,
      "pool_count": 29,
      "outlier_pools_excluded": 1,
      "oldest_pool_at": 1706516558000,
      "name": "Jupiter",
      "symbol": "JUP"
    },
    "pools": [
      {
        "dex": "meteora",
        "pair": "C8Gr6AUuq9hEdSYJzoEpNcdjpojPZwqG5MtQbeouNNwg",
        "base": "JUP",
        "quote": "SOL",
        "liquidity_usd": 1895460.25,
        "volume_24h_usd": 906895.39,
        "created_at": 1706713193000
      },
      {
        "dex": "orca",
        "pair": "C1MgLojNLWBKADvu9BHdtgzz1oZX4dZ5zGdGcgvvW8Wz",
        "base": "JUP",
        "quote": "SOL",
        "liquidity_usd": 667318.47,
        "volume_24h_usd": 2026793.57,
        "created_at": 1706675725000
      }
    ],
    "holders": [
      {
        "address": "6G4XDSge4txj5tBkA5gZqefXXE3BRxqA37Yb1pmrHv6N",
        "share_pct": 24.776,
        "is_contract": null,
        "label": null,
        "kind": "token account"
      },
      {
        "address": "26ddLrqXDext6caX1gRxARePN4kzajyGiAUz9JmzmTGQ",
        "share_pct": 24.524,
        "is_contract": null,
        "label": null,
        "kind": "token account"
      }
    ],
    "checks": [
      {
        "id": "liquidity",
        "title": "DEX liquidity",
        "status": "pass",
        "detail": "$3,719,081 across 29 pool(s). 1 pool(s) with an outlier price were left out.",
        "source": "dexscreener",
        "field": "liquidity.usd",
        "checked_at": "2026-11-04T20:10:51.498Z"
      },
      {
        "id": "pool_age",
        "title": "Oldest pool age",
        "status": "pass",
        "detail": "1010 days.",
        "source": "dexscreener",
        "field": "pairCreatedAt",
        "checked_at": "2026-11-04T20:10:51.498Z"
      }
    ],
    "counts": {
      "pass": 9,
      "warn": 0,
      "fail": 0,
      "unknown": 0
    },
    "sources": [
      {
        "name": "dexscreener",
        "ok": true,
        "ms": 133
      },
      {
        "name": "solana-rpc",
        "ok": true,
        "ms": 369
      }
    ],
    "note": "Checks read public fields. They do not predict price and are not advice.",
    "stale": false,
    "as_of": "2026-11-04T20:10:56.066Z"
  },
  "meta": {
    "request_id": "req_5a18039757bf",
    "as_of": "2026-11-04T20:10:56.066Z"
  }
}

#Fields

FieldTypeDescription
data.tokenobjectSymbol, name, decimals, supply and holder count.
data.marketobjectPrice, liquidity, volume and FDV. Null when no pool is known.
data.checks[].statusstringpass, warn, fail or unknown.
data.checks[].sourcestringWhere the value came from.
data.checks[].fieldstringThe exact source field that was read.
data.countsobjectNumber of checks per status.
data.sources[]arrayResult and time of each source call.

#Notes

  • If one source fails, the report still returns. Its checks read unknown, and sources shows which source failed.
  • Liquidity and volume cover the 30 pools the source returns.
  • See token checks for every check and threshold.

#Errors

HTTPCodeMeaning
400invalid_chainThe chain is unknown.
400invalid_addressThe address format does not match the chain.
404not_foundThe item does not exist.
502upstream_unavailableA public data source did not answer.

All errors share one format. See errors.