> ## 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.

# lookupCastByHashOrUrl

By hash or URL

> **Group:** Cast APIs

Use this when you need: **By hash or URL**.

## 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.lookupCastByHashOrUrl({
  identifier: "example", // Cast identifier (It\&#39;s either a URL or a hash)
  type: "value", // The query param accepted by the API. Sent along with identifier param. url - Cast identifier is a url hash - Cast identifier is a hash
  // xNeynarExperimental: true, 
  // viewerFid: 123, 
});
console.log(res);
```

## Parameters

| Parameter             | Type                            | Required | Description                                                                                                                            |
| --------------------- | ------------------------------- | :------: | -------------------------------------------------------------------------------------------------------------------------------------- |
| `identifier`          | `string`                        |     ✅    | Cast identifier (It\&#39;s either a URL or a hash)                                                                                     |
| `type`                | `LookupCastByHashOrUrlTypeEnum` |     ✅    | The query param accepted by the API. Sent along with identifier param. url - Cast identifier is a url hash - Cast identifier is a hash |
| `xNeynarExperimental` | `boolean`                       |     ❌    | -                                                                                                                                      |
| `viewerFid`           | `number`                        |     ❌    | -                                                                                                                                      |

## Response

Returns a `RequestArgs` object.

## Error Handling

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

## Related API Reference

📖 **API Reference:** [lookupCastByHashOrUrl](/reference/lookup-cast-by-hash-or-url)

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.


## Related topics

- [How to Get Cast Information for Farcaster Casts](/docs/how-to-get-cast-information-for-farcaster-casts.md)
- [Farcaster URLs](/docs/how-to-get-cast-information-from-url.md)
- [SDK v1 to v2 migration guide](/reference/neynar-nodejs-sdk-v1-to-v2-migration-guide.md)
- [By hash or URL](/reference/lookup-cast-by-hash-or-url.md)
- [lookupCastConversation](/nodejs-sdk/cast-apis/lookupCastConversation.md)
