{"id":28379629,"url":"https://github.com/dawksh/farstack","last_synced_at":"2025-09-07T15:42:24.082Z","repository":{"id":223157451,"uuid":"759388604","full_name":"dawksh/farstack","owner":"dawksh","description":"open source library for interacting with Farcaster data using Airstack","archived":false,"fork":false,"pushed_at":"2024-02-23T06:37:33.000Z","size":56,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-13T09:58:21.625Z","etag":null,"topics":["farcaster-protocol"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/farstack","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dawksh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-18T13:10:46.000Z","updated_at":"2024-05-02T21:02:48.000Z","dependencies_parsed_at":"2024-02-18T17:50:18.204Z","dependency_job_id":"d3c629fc-5cfd-4712-bc89-72791ad6934d","html_url":"https://github.com/dawksh/farstack","commit_stats":null,"previous_names":["dawksh/farstack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dawksh/farstack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawksh%2Ffarstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawksh%2Ffarstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawksh%2Ffarstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawksh%2Ffarstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dawksh","download_url":"https://codeload.github.com/dawksh/farstack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dawksh%2Ffarstack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274058944,"owners_count":25215200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["farcaster-protocol"],"created_at":"2025-05-30T02:38:43.642Z","updated_at":"2025-09-07T15:42:24.073Z","avatar_url":"https://github.com/dawksh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Farstack\n\nOpen Source Package for querying Farcaster data using Airstack!\n\n# How to use?\n\nStart by creating a client by using the `createClient` function and passing in the Airstack API key.\nJump [here](#api-methods) for all API methods.\n\n```ts\nimport {createClient} from \"farstack\"\n\n...\n...\n...\n\nconst client = createClient(\u003cYour Airstack API Key Here\u003e)\n\nconst userDetails: UserDetails = client.getUserDetailsByFID(\"2483\");\n```\n\n# API Methods\n\nThis is still very new, please create a issue if you want a particular API Method.\n\n## getUserDetailsByFID\n\n### Description\n\nRetrieves user details based on the provided FID (Farcaster ID).\n\n### Parameters\n\n| Name | Type   | Description              |\n| ---- | ------ | ------------------------ |\n| fid  | number | FarCaster ID of the user |\n\n### Return Type\n\nPromise\u003cUserDetails\u003e\n\n**UserDetails Type:**\n| Field | Type | Description |\n|---------------------------------|------------|---------------------------------------|\n| userAssociatedAddresses | string[] | Associated addresses of the user |\n| id | string | User ID |\n| fnames | string[] | List of first names |\n| followerCount | number | Count of followers |\n| followingCount | number | Count of following users |\n| profileImage | string | URL of the profile image |\n| profileDisplayName | string | Display name of the profile |\n| profileHandle | string | Handle or username |\n| profileBio | string | Biography or user description |\n| profileName | string | Full name of the user |\n| userAddress | string | Ethereum address of the user |\n| userRecoveryAddress | string | Recovery address of the user |\n| profileLastUpdatedAtBlockNumber | number | Block number when profile last updated|\n| location | string | User's location |\n\n## getUserDetailsByAddress\n\n### Description\n\nRetrieves user details based on the Ethereum address.\n\n### Parameters\n\n| Name    | Type          | Description                  |\n| ------- | ------------- | ---------------------------- |\n| address | `0x${string}` | Ethereum address of the user |\n\n### Return Type\n\nPromise\u003cUserDetails\u003e\n\n**UserDetails Type:**\n| Field | Type | Description |\n|---------------------------------|------------|---------------------------------------|\n| userAssociatedAddresses | string[] | Associated addresses of the user |\n| id | string | User ID |\n| fnames | string[] | List of first names |\n| followerCount | number | Count of followers |\n| followingCount | number | Count of following users |\n| profileImage | string | URL of the profile image |\n| profileDisplayName | string | Display name of the profile |\n| profileHandle | string | Handle or username |\n| profileBio | string | Biography or user description |\n| profileName | string | Full name of the user |\n| userAddress | string | Ethereum address of the user |\n| userRecoveryAddress | string | Recovery address of the user |\n| profileLastUpdatedAtBlockNumber | number | Block number when profile last updated|\n| location | string | User's location |\n\n## getUserDetailsByUsername\n\n### Description\n\nRetrieves user details based on the FarCaster username.\n\n### Parameters\n\n| Name     | Type   | Description                    |\n| -------- | ------ | ------------------------------ |\n| username | string | Farcaster username of the user |\n\n### Return Type\n\nPromise\u003cUserDetails\u003e\n\n**UserDetails Type:**\n| Field | Type | Description |\n|---------------------------------|------------|---------------------------------------|\n| userAssociatedAddresses | string[] | Associated addresses of the user |\n| id | string | User ID |\n| fnames | string[] | List of first names |\n| followerCount | number | Count of followers |\n| followingCount | number | Count of following users |\n| profileImage | string | URL of the profile image |\n| profileDisplayName | string | Display name of the profile |\n| profileHandle | string | Handle or username |\n| profileBio | string | Biography or user description |\n| profileName | string | Full name of the user |\n| userAddress | string | Ethereum address of the user |\n| userRecoveryAddress | string | Recovery address of the user |\n| profileLastUpdatedAtBlockNumber | number | Block number when profile last updated|\n| location | string | User's location |\n\n## getCustomFarcasterData\n\n### Description\n\nRetrieves custom user data based on the GraphQL Query and Variables provided\n\n### Parameters\n\n| Name      | Type       | Description                                    |\n| --------- | ---------- | ---------------------------------------------- |\n| query     | string     | GraphQL Formatted Query                        |\n| variables | array\u003cany\u003e | Array of variables for the given GraphQL Query |\n\n### Return Type\n\nPromise\u003cany\u003e\n\n## isFollowing\n\n### Description\n\nChecks if a user with a given FID is following another user with a target FID on Farcaster.\n\n### Parameters\n\n| Name      | Type   | Description                                            |\n| --------- | ------ | ------------------------------------------------------ |\n| userFID   | number | Farcaster ID of the user who is potentially following. |\n| targetFid | number | Farcaster ID of the user who is potentially followed.  |\n\n### Return Type\n\nPromise\u003cboolean\u003e\n\n### Return Value\n\n-   `true`: The user with `userFID` is following the user with `targetFid`.\n-   `false`: The user with `userFID` is not following the user with `targetFid`.\n\n## getUserAssociatedAddresses\n\n### Description\n\nRetrieves the associated Ethereum and Solana addresses for a user based on their Farcaster ID.\n\n### Parameters\n\n| Name    | Type   | Description                                        |\n| ------- | ------ | -------------------------------------------------- |\n| fid     | string | FarCaster ID of the user.                          |\n| hub     | string | (Optional) Hub URL for the API endpoint.           |\n| options | Object | (Optional) Additional options for the API request. |\n\n### Return Type\n\nPromise\u003cUserAssociatedAddresses\u003e\n\n**UserAssociatedAddresses Type:**\n\n```typescript\ntype UserAssociatedAddresses = {\n\tsolanaAddresses: string[];\n\tethereumAddresses: string[];\n};\n```\n\n### Return Value\n\nAn object containing arrays of associated Ethereum and Solana addresses for the specified user.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdawksh%2Ffarstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdawksh%2Ffarstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdawksh%2Ffarstack/lists"}