Get a user's feed by handle: their posts, replies, and reposts in feed order (the pinned post first, then newest first), each flagged with is_reply, is_repost, and is_pinned. Returns post text, engagement metrics, media, link cards, and quoted posts.
curl "https://apidirect.io/v1/bluesky/user/posts?username=bsky.app&pages=1" -H "X-API-Key: YOUR_API_KEY"
{
"posts": [
{
"title": "@bsky.app on Bluesky",
"url": "https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l",
"date": "2024-10-17 07:06:51",
"author": "bsky.app",
"author_name": "Bluesky",
"author_id": "did:plc:z72i7hdynmk6r22z27h6tvur",
"author_verified": false,
"source": "Bluesky",
"domain": "bsky.app",
"snippet": "👋 Bluesky is an open social network that gives creators independence from platforms, developers the freedom to build, and users a choice in their exp…",
"likes": 63685,
"replies": 8582,
"reposts": 9530,
"quotes": 708,
"bookmarks": 249,
"lang": "en",
"is_reply": false,
"in_reply_to_id": "",
"is_quote": false,
"quoted_post": null,
"hashtags": [],
"mentions": [],
"links": [],
"link_preview": null,
"media_type": "text",
"image_url": "",
"video_url": "",
"carousel_media": [],
"post_id": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l",
"is_repost": false,
"reposted_by": "",
"is_pinned": true
}
],
"username": "bsky.app",
"pages": 1,
"count": 50
}
Yes, the full feed is returned. Filter on is_reply to drop replies and on is_repost to drop reposts. For a repost, the post fields describe the original post and reposted_by names the user.
Up to 20 pages of 50 posts (1,000 items), newest first. You are billed only for the pages that come back.
You only pay for successful requests. The Bluesky User Posts API costs $0.003 per page. There are no monthly fees or commitments. You get 50 free requests per endpoint every month.
No. You can sign up and use the free tier (50 requests/endpoint/month) without adding a payment method. You only need to add a card when you want to exceed the free tier.
Yes, there's a concurrency limit of 10 simultaneous requests per endpoint per user. If you need more, just get in touch.
Get your API key and start making requests in minutes. 50 requests/month free every month.
Get API Key