List user statuses
const url = 'https://api.fxbsky.app/2/profile/bsky.app/statuses?count=20&lang=es';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.fxbsky.app/2/profile/bsky.app/statuses?count=20&lang=es'Returns a timeline page in the same shape as FxTwitter GET /2/profile/{handle}/statuses (code, results, cursor). handle may be a handle or DID. Pagination uses Bluesky app.bsky.feed.getAuthorFeed: cursor.bottom is the opaque next-page token (pass as cursor query param). cursor.top is always null—there is no reverse cursor on this upstream endpoint. Optional since (Unix time): when used without cursor, returns 204 No Content if no posts are strictly newer than that instant. Values ≥ 1e12 are treated as milliseconds.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Example
bsky.appBluesky handle (e.g. user.bsky.social) or DID (did:plc:…)
Query Parameters
Section titled “Query Parameters ”Page size (default 20)
Pagination cursor from prior response (cursor.bottom)
Unix timestamp (seconds, or ms if ≥ 1e12). Without cursor, 204 if no post is strictly newer than this time.
If truthy (1, true, yes, on, or empty), include replies (posts_with_replies upstream); otherwise posts_no_replies.
If truthy, return results as a mix of type: "status" and type: "thread" entries (consecutive self-reply chains grouped).
Example
esTarget language (ISO 639-1 or BCP 47) for inline translation when available
Responses
Section titled “ Responses ”Timeline page (flat or grouped when groupthreads is set)
object
object
Discriminator: single status
Recursive reference — same shape as APIBlueskyStatus.
object
object
Placeholder for an unavailable post (quote/thread).
Why the post is unavailable
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
Handle or account id used in permalinks (@user on X).
Parent post id (X: snowflake; Bluesky: record key).
Permalink to the parent post when known.
Permalink to the parent author profile when known.
Display name of the parent author when known.
object
object
object
object
Discriminator: single status
Recursive reference — same shape as APIBlueskyStatus.
object
object
Placeholder for an unavailable post (quote/thread).
Why the post is unavailable
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
Handle or account id used in permalinks (@user on X).
Parent post id (X: snowflake; Bluesky: record key).
Permalink to the parent post when known.
Permalink to the parent author profile when known.
Display name of the parent author when known.
object
object
Discriminator: grouped conversation snippet in a timeline (API v2).
object
Discriminator: single status
Recursive reference — same shape as APIBlueskyStatus.
object
object
Placeholder for an unavailable post (quote/thread).
Why the post is unavailable
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
Handle or account id used in permalinks (@user on X).
Parent post id (X: snowflake; Bluesky: record key).
Permalink to the parent post when known.
Permalink to the parent author profile when known.
Display name of the parent author when known.
object
Always false for Bluesky grouped timelines (no native full-thread id list on feed rows).
object
Example
{ "results": [ { "type": "status", "quote": { "type": "tombstone", "provider": "twitter", "reason": "deleted", "author": { "type": "profile", "verification": { "type": "organization" } } }, "author": { "type": "profile", "verification": { "type": "organization" } }, "media": { "external": { "type": "video" }, "photos": [ { "type": "photo" } ], "videos": [ { "type": "video", "formats": [ { "container": "mp4", "codec": "h264" } ], "publisher": { "type": "profile", "verification": { "type": "organization" } } } ], "all": [ { "type": "photo" } ], "mosaic": { "type": "mosaic_photo" }, "broadcast": { "state": "LIVE", "orientation": "landscape" } }, "embed_card": "tweet", "provider": "bluesky" } ]}No posts newer than since (only when since is set and cursor is omitted; same conditions as 200 otherwise)
Invalid path or query parameters (e.g. count out of range)
object
Example
{ "code": 400}Actor not found
object
object
Discriminator: single status
Recursive reference — same shape as APIBlueskyStatus.
object
object
Placeholder for an unavailable post (quote/thread).
Why the post is unavailable
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
Handle or account id used in permalinks (@user on X).
Parent post id (X: snowflake; Bluesky: record key).
Permalink to the parent post when known.
Permalink to the parent author profile when known.
Display name of the parent author when known.
object
object
Example
{ "results": [ { "type": "status", "quote": { "type": "tombstone", "provider": "twitter", "reason": "deleted", "author": { "type": "profile", "verification": { "type": "organization" } } }, "author": { "type": "profile", "verification": { "type": "organization" } }, "media": { "external": { "type": "video" }, "photos": [ { "type": "photo" } ], "videos": [ { "type": "video", "formats": [ { "container": "mp4", "codec": "h264" } ], "publisher": { "type": "profile", "verification": { "type": "organization" } } } ], "all": [ { "type": "photo" } ], "mosaic": { "type": "mosaic_photo" }, "broadcast": { "state": "LIVE", "orientation": "landscape" } }, "embed_card": "tweet", "provider": "bluesky" } ]}Upstream or processing error
object
object
Discriminator: single status
Recursive reference — same shape as APIBlueskyStatus.
object
object
Placeholder for an unavailable post (quote/thread).
Why the post is unavailable
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
Discriminator: full user profile (API v2).
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Facet kind: e.g. url, mention, hashtag, bold, media, custom_emoji (Mastodon custom emoji image)
Start and end UTF-16 indices
object
object
Handle or account id used in permalinks (@user on X).
Parent post id (X: snowflake; Bluesky: record key).
Permalink to the parent post when known.
Permalink to the parent author profile when known.
Display name of the parent author when known.
object
object
Example
{ "results": [ { "type": "status", "quote": { "type": "tombstone", "provider": "twitter", "reason": "deleted", "author": { "type": "profile", "verification": { "type": "organization" } } }, "author": { "type": "profile", "verification": { "type": "organization" } }, "media": { "external": { "type": "video" }, "photos": [ { "type": "photo" } ], "videos": [ { "type": "video", "formats": [ { "container": "mp4", "codec": "h264" } ], "publisher": { "type": "profile", "verification": { "type": "organization" } } } ], "all": [ { "type": "photo" } ], "mosaic": { "type": "mosaic_photo" }, "broadcast": { "state": "LIVE", "orientation": "landscape" } }, "embed_card": "tweet", "provider": "bluesky" } ]}