> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neynar.com/llms.txt
> Use this file to discover all available pages before exploring further.

# getTokenMetadata

Get token metadata

> **Group:** Onchain APIs

Use this when you need: **Get token metadata**.

## Usage

```ts theme={"system"}
import { NeynarAPIClient, Configuration } from "@neynar/nodejs-sdk";

const client = new NeynarAPIClient(
  new Configuration({ apiKey: "YOUR_NEYNAR_API_KEY" })
);

const res = await client.getTokenMetadata({
  network: "value", // A blockchain network e.g. \&quot;ethereum\&quot;, \&quot;optimism\&quot;, \&quot;base\&quot;, \&quot;arbitrum\&quot;
  address: "example", // Token contract address
});
console.log(res);
```

## Parameters

| Parameter | Type                          | Required | Description                                                                                                          |
| --------- | ----------------------------- | :------: | -------------------------------------------------------------------------------------------------------------------- |
| `network` | `GetTokenMetadataNetworkEnum` |     ✅    | A blockchain network e.g. \&quot;ethereum\&quot;, \&quot;optimism\&quot;, \&quot;base\&quot;, \&quot;arbitrum\&quot; |
| `address` | `string`                      |     ✅    | Token contract address                                                                                               |

## Response

Returns a `RequestArgs` object.

## Error Handling

```ts theme={"system"}
try {
  const res = await client.getTokenMetadata({
    network: "value",
    address: "example"
  });
  // use res
} catch (err) {
  // Axios/HTTP errors, invalid params, auth issues, etc.
  console.error(err);
}
```

## Related API Reference

📖 **API Reference:** [getTokenMetadata](/reference/get-token-metadata)

For detailed information about the HTTP endpoint, request/response schemas, and additional examples, see the complete API documentation.

## Tips

* Provide a **viewerFid** when supported to respect mutes/blocks and include `viewer_context`.
* Keep requests scoped (e.g., use `limit`) to improve latency.
* Cache results where sensible.
