List Twitter profile tweets
Get popular tweets from a specific X profile.
Call `GET /v1/twitter/profiles/{handle}` when you must distinguish `private` from `not_found` before interpreting an empty tweet list.
An empty `data.tweets` array can occur with `lookupStatus: "found"` (no popular public tweets in this window) or `lookupStatus: "not_found"` (handle did not resolve).
Headers
Get your API keyAPI key (`sfk_...`)
X handle to look up, with or without a leading @.
Optional: omit per-tweet author and profile card for a smaller response.
Endpoint-specific response payload.
Whether tweet data was returned for this handle.
one of: found, not_found
Profile card from the first tweet when full data is available; null when trimmed or not found.
Social platform for this profile.
one of: twitter
Screen name without @.
min 1 chars
Display name for the profile.
Best available square avatar URL.
Legacy verified flag from X.
Paid blue verification flag from X.
Canonical profile URL on x.com.
min 1 chars
Numeric user id as a string.
Up to roughly 100 popular public tweets from X for this request (not chronological). May be empty when `lookupStatus` is `found` and no eligible tweets are returned, or when `lookupStatus` is `not_found`.
Tweet id (`rest_id`).
min 1 chars
Canonical public URL for this tweet on x.com.
min 1 chars
Conversation root tweet id.
min 1 chars
Creation time as Unix epoch seconds.
≥ 0
BCP 47 or X language code.
min 1 chars
Full tweet text (includes long-form when available).
True when text was taken from note_tweet metadata instead of legacy.full_text alone.
Start/end character indices for visible text.
≥ 0
Author snapshot; null when `trim=true` omits per-tweet author data.
Author screen name without the leading @.
min 1 chars
Author display name.
Best available square avatar URL for the author.
Whether X marks the author with legacy verification.
Whether the author has X blue (paid) verification.
Numeric X user id for the author as a string.
Engagement metrics for a tweet.
Impression count when reported by X.
≥ 0
Favorite (like) count.
≥ 0
Native repost count.
≥ 0
Reply count.
≥ 0
Bookmark count.
≥ 0
Quote tweet count.
≥ 0
Photo, video, or GIF attachments.
Entities aligned with `text`.
Hashtag entities.
Hashtag text without #.
User mention entities.
Mentioned screen name.
min 1 chars
Display name when available.
Numeric user id for the mention when available.
URL entities.
Short URL as it appears in text.
min 1 chars
Human-readable display host/path.
min 1 chars
Fully expanded destination URL.
min 1 chars
Symbol entities.
Cashtag or symbol text.
min 1 chars
Whether this is a reply.
Parent tweet id when replying.
Parent author user id when replying.
Parent author handle when replying.
Whether this tweet quotes another.
Quoted tweet id when present.
Whether this is a native repost.
Original tweet id for a repost.
Whether X marks the content sensitive.
Edit metadata when applicable.
Tweet ids in this edit chain.
min 1 chars
Epoch milliseconds until edits are locked.
Whether the tweet can still be edited.
Remaining edits in the window, as reported by X.
Client label text.
Link target from the source anchor when present.
Expanded quoted tweet (one level deep).
Tweet id (`rest_id`).
min 1 chars
Canonical public URL for this tweet on x.com.
min 1 chars
Conversation root tweet id.
min 1 chars
Creation time as Unix epoch seconds.
≥ 0
BCP 47 or X language code.
min 1 chars
Full tweet text (includes long-form when available).
True when text was taken from note_tweet metadata instead of legacy.full_text alone.
Start/end character indices for visible text.
≥ 0
Author snapshot; null when `trim=true` omits per-tweet author data.
Author screen name without the leading @.
min 1 chars
Author display name.
Best available square avatar URL for the author.
Whether X marks the author with legacy verification.
Whether the author has X blue (paid) verification.
Numeric X user id for the author as a string.
Engagement metrics for a tweet.
Impression count when reported by X.
≥ 0
Favorite (like) count.
≥ 0
Native repost count.
≥ 0
Reply count.
≥ 0
Bookmark count.
≥ 0
Quote tweet count.
≥ 0
Photo, video, or GIF attachments.
Entities aligned with `text`.
Hashtag entities.
Hashtag text without #.
User mention entities.
Mentioned screen name.
min 1 chars
Display name when available.
Numeric user id for the mention when available.
URL entities.
Short URL as it appears in text.
min 1 chars
Human-readable display host/path.
min 1 chars
Fully expanded destination URL.
min 1 chars
Symbol entities.
Cashtag or symbol text.
min 1 chars
Whether this is a reply.
Parent tweet id when replying.
Parent author user id when replying.
Parent author handle when replying.
Whether this tweet quotes another.
Quoted tweet id when present.
Whether this is a native repost.
Original tweet id for a repost.
Whether X marks the content sensitive.
Edit metadata when applicable.
Tweet ids in this edit chain.
min 1 chars
Epoch milliseconds until edits are locked.
Whether the tweet can still be edited.
Remaining edits in the window, as reported by X.
Client label text.
Link target from the source anchor when present.
Expanded reposted tweet (one level deep).
Tweet id (`rest_id`).
min 1 chars
Canonical public URL for this tweet on x.com.
min 1 chars
Conversation root tweet id.
min 1 chars
Creation time as Unix epoch seconds.
≥ 0
BCP 47 or X language code.
min 1 chars
Full tweet text (includes long-form when available).
True when text was taken from note_tweet metadata instead of legacy.full_text alone.
Start/end character indices for visible text.
≥ 0
Author snapshot; null when `trim=true` omits per-tweet author data.
Author screen name without the leading @.
min 1 chars
Author display name.
Best available square avatar URL for the author.
Whether X marks the author with legacy verification.
Whether the author has X blue (paid) verification.
Numeric X user id for the author as a string.
Engagement metrics for a tweet.
Impression count when reported by X.
≥ 0
Favorite (like) count.
≥ 0
Native repost count.
≥ 0
Reply count.
≥ 0
Bookmark count.
≥ 0
Quote tweet count.
≥ 0
Photo, video, or GIF attachments.
Entities aligned with `text`.
Hashtag entities.
Hashtag text without #.
User mention entities.
Mentioned screen name.
min 1 chars
Display name when available.
Numeric user id for the mention when available.
URL entities.
Short URL as it appears in text.
min 1 chars
Human-readable display host/path.
min 1 chars
Fully expanded destination URL.
min 1 chars
Symbol entities.
Cashtag or symbol text.
min 1 chars
Whether this is a reply.
Parent tweet id when replying.
Parent author user id when replying.
Parent author handle when replying.
Whether this tweet quotes another.
Quoted tweet id when present.
Whether this is a native repost.
Original tweet id for a repost.
Whether X marks the content sensitive.
Edit metadata when applicable.
Tweet ids in this edit chain.
min 1 chars
Epoch milliseconds until edits are locked.
Whether the tweet can still be edited.
Remaining edits in the window, as reported by X.
Client label text.
Link target from the source anchor when present.
Metadata describing the request and billing outcome.
Unique request identifier for tracing this API call.
min 1 chars
Credits charged for this request.
≥ 0
Public API version that served the response.
one of: v1
Code example
curl "https://api.socialfetch.dev/v1/twitter/profiles/charlidamelio/tweets" \
-H "x-api-key: YOUR_API_KEY"Responses
Tweets for the requested profile. Use `data.lookupStatus`: `not_found` when the handle cannot be resolved; `found` when the handle resolves (check `data.tweets`—it may be empty when there are no popular public tweets in this response). Prefer `GET /v1/twitter/profiles/{handle}` first if you need explicit `private` vs `not_found` for the account before interpreting an empty tweet list.