X Home API
Collect X profile information and first-page works.
API Description
X Home API — Collect X profile information and first-page works.
Authenticate with your Pangolinfo API Key to receive structured JSON data.
Request URL
Request Headers
| Parameters | Parameter value | Type | Description |
|---|---|---|---|
| Content-Type | application/json | string | Data format |
| Authorization | Bearer xxx | string | Authorization Token |
Collection takes up to approximately 75 seconds. Set your client timeout to 90 seconds.
Request Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| target | Yes | string | Target URL, supported ID or search keyword for this operation. |
Only the request parameters listed on this page are used; other fields are ignored. Pass pagination cursors back unchanged, without encoding, decoding or conversion.
Includes first-page works. Use the works operation, where available, to continue.
Response Fields
| Field | Type | Description |
|---|---|---|
| code | integer | Status code; 0 indicates success. |
| message | string | Response message; ok on success. |
| pointCost | number | Points charged for this request. |
| data | object | Collected data, with fields described below. |
| meta | object | Request identifier and duration in milliseconds. |
| billing | object | Charged units, unit price and billing rule version. |
data Fields
| Field | Type | Description |
|---|---|---|
| type | string | Result type. |
| profile | object | Profile details. |
| works | object[] | Collected works. |
| pagination | object | Continuation cursor and whether more results are available. |
data.profile Fields
| Field | Type | Description |
|---|---|---|
| username | string | null | Username |
| screen_name | string | null | Screen name |
| displayName | string | null | Display name |
| name | string | null | Name |
| bio | string | null | Bio |
| description | string | null | Description |
| avatar | string | null | Avatar URL. |
| avatar_url | string | null | Avatar url |
| profileUrl | string | null | Author profile URL. |
| url | string | null | Content URL. |
| isVerified | boolean | Is verified |
| verified | boolean | Verified |
| followersCount | number | null | Followers count |
| followers_count | number | null | Followers count |
| followingCount | number | null | Following count |
| friends_count | number | null | Friends count |
| accountId | string | null | Account id |
| id | string | null | Record identifier. |
| isPrivate | boolean | Is private |
| externalLinks | object[] | External links |
| likesCount | number | null | Likes count |
| mediaCount | number | null | Media count |
| statusesCount | number | null | Statuses count |
| location | string | null | Location |
| bannerUrl | string | null | Banner url |
| joinedAt | object | null | Joined at |
| verificationType | string | null | Verification type |
| verifiedAt | string | null | Verified at |
| basedIn | string | null | Based in |
| usernameChanges | number | null | Username changes |
| followers | number | null | Followers |
| following | number | null | Following |
| likes | number | null | Like count. |
| media_count | number | null | Media count |
| statuses | number | null | Statuses |
| raw_description | object | null | Raw description |
| banner_url | string | null | Banner url |
| joined | string | null | Joined |
| protected | boolean | Protected |
| website | object | null | Website |
| verification | object | Verification |
| type | string | null | Result type. |
| about_account | object | About account |
data.profile.externalLinks[] Fields
| Field | Type | Description |
|---|---|---|
| url | string | null | Content URL. |
| display_url | string | null | Display url |
data.profile.joinedAt Fields
| Field | Type | Description |
|---|---|---|
| text | string | null | Text value. |
| value | number | null | Parsed value. |
data.profile.raw_description Fields
| Field | Type | Description |
|---|---|---|
| text | string | null | Text value. |
| facets | any[] | Facets |
data.profile.website Fields
| Field | Type | Description |
|---|---|---|
| url | string | null | Content URL. |
| display_url | string | null | Display url |
data.profile.verification Fields
| Field | Type | Description |
|---|---|---|
| verified | boolean | Verified |
| verified_at | string | null | Verified at |
| type | string | null | Result type. |
data.profile.about_account Fields
| Field | Type | Description |
|---|---|---|
| location_accurate | boolean | Location accurate |
| based_in | string | null | Based in |
| username_changes | object | Username changes |
data.works[] Fields
| Field | Type | Description |
|---|---|---|
| id | string | null | Record identifier. |
| url | string | null | Content URL. |
| content | string | Content text; may be null for records without text. |
| rawText | string | null | Raw text |
| publishedAt | object | null | Publication time. |
| likes | number | null | Like count. |
| commentsCount | number | null | Platform-reported comment total; not the number billed. |
| reposts | number | null | Repost count. |
| quotes | number | null | Quotes |
| bookmarks | number | null | Bookmarks |
| views | number | null | View count. |
| lang | string | null | Subtitle language code, e.g. en. Manual captions take priority. If unavailable, the default track is returned. |
| possiblySensitive | boolean | Possibly sensitive |
| isNoteTweet | boolean | Is note tweet |
| communityNote | any | Community note |
| replyingTo | string | null | Replying to |
| replyingToStatus | string | null | Replying to status |
| source | string | null | Source |
| media | object[] | Media |
| mentions | object[] | Mentions |
| hashtags | string | null[] | Hashtags |
| urls | object[] | Urls |
| repostedBy | object | null | Reposted by |
| quote | object | null | Quote |
| poster | object | Poster |
data.works[].publishedAt Fields
| Field | Type | Description |
|---|---|---|
| text | string | null | Text value. |
| value | number | null | Parsed value. |
data.works[].media[] Fields
| Field | Type | Description |
|---|---|---|
| type | string | null | Result type. |
| id | string | null | Record identifier. |
| url | string | null | Content URL. |
| thumbnailUrl | string | null | Thumbnail url |
| width | number | null | Width |
| height | number | null | Height |
| durationSec | number | null | Duration sec |
| format | string | null | Format |
| variants | object[] | Variants |
data.works[].mentions[] Fields
| Field | Type | Description |
|---|---|---|
| username | string | null | Username |
| id | string | null | Record identifier. |
data.works[].urls[] Fields
| Field | Type | Description |
|---|---|---|
| url | string | null | Content URL. |
| display | string | null | Display |
data.works[].repostedBy Fields
| Field | Type | Description |
|---|---|---|
| nickname | string | null | Author display name. |
| username | string | null | Username |
| avatar | string | null | Avatar URL. |
| profileUrl | string | null | Author profile URL. |
| id | string | null | Record identifier. |
| verified | boolean | Verified |
| verificationType | string | null | Verification type |
| followersCount | number | null | Followers count |
| followingCount | number | null | Following count |
| protected | boolean | Protected |
data.works[].quote Fields
| Field | Type | Description |
|---|---|---|
| id | string | null | Record identifier. |
| url | string | null | Content URL. |
| content | string | Content text; may be null for records without text. |
| rawText | string | null | Raw text |
| publishedAt | object | null | Publication time. |
| likes | number | null | Like count. |
| commentsCount | number | null | Platform-reported comment total; not the number billed. |
| reposts | number | null | Repost count. |
| quotes | number | null | Quotes |
| bookmarks | number | null | Bookmarks |
| views | number | null | View count. |
| lang | string | null | Subtitle language code, e.g. en. Manual captions take priority. If unavailable, the default track is returned. |
| possiblySensitive | boolean | Possibly sensitive |
| isNoteTweet | boolean | Is note tweet |
| communityNote | any | Community note |
| replyingTo | string | null | Replying to |
| replyingToStatus | string | null | Replying to status |
| source | string | null | Source |
| media | object[] | Media |
| mentions | object[] | Mentions |
| hashtags | string | null[] | Hashtags |
| urls | object[] | Urls |
| repostedBy | object | null | Reposted by |
| quote | any | Quote |
| poster | object | Poster |
data.works[].poster Fields
| Field | Type | Description |
|---|---|---|
| nickname | string | null | Author display name. |
| username | string | null | Username |
| avatar | string | null | Avatar URL. |
| profileUrl | string | null | Author profile URL. |
| id | string | null | Record identifier. |
| verified | boolean | Verified |
| verificationType | string | null | Verification type |
| followersCount | number | null | Followers count |
| followingCount | number | null | Following count |
| protected | boolean | Protected |
data.pagination Fields
| Field | Type | Description |
|---|---|---|
| cursor | string | null | Continuation cursor from the previous response. Pass the value unchanged. |
| hasMore | boolean | Whether more results are available. |
Request Example
Response Example
This excerpt shows the first item of each list. Long text and URLs are shortened; pointCost is the charge for the complete response. The playground contains the full schema.
Points Usage
0.8 points per profile. Included works are free.
Empty results and failed requests are not charged. Duplicate IDs are counted once within a response. Separate calls and pages are billed separately. See Social Media Reviews API billing.

