{"uid":"cap_UpSoFPqw_CFQGTwFxur9P","slug":"api-direct-bluesky-user-feed-posts-replies-reposts-cf330aa5","name":"API Direct – Bluesky User Feed (Posts, Replies & Reposts)","description":"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.","url":"https://x402.apidirect.io/v1/bluesky/user/posts?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":[],"properties":{"url":{"type":"string","maxLength":500,"description":"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). Provide either username or url."},"pages":{"type":"integer","default":1,"maximum":20,"minimum":1,"description":"Number of pages to fetch and merge into one response (1-20, billed per page returned). Each page returns up to 50 results. Fetching stops early when there are no more results."},"username":{"type":"string","maxLength":100,"description":"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). Provide either username or url."},"get_sentiment":{"type":"boolean","default":false,"description":"Set to true to add AI emotion analysis to each result. Adds a `sentiment` object containing `emotions` (joy, trust, fear, surprise, sadness, disgust, anger and anticipation, each scored 0-100), `dominant_emotion`, `emotional_intensity` (0-10), and `polarity` (positive, negative or neutral). Any item"}}}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_faP6xULT6aTUW3Zd3Xcjp","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a Bluesky user's feed by handle or profile URL, returning their posts, replies, and reposts in feed order (pinned first, then newest first), each labeled with is_reply, is_repost, and is_pinned flags, with optional AI sentiment analysis.","exampleAgentPrompt":"Pull the last 2 pages of posts, replies, and reposts from the Bluesky account @paul.bsky.social — include sentiment analysis on each item so I can see the emotional tone of their recent activity.","exampleUseCases":[{"title":"Monitor a brand's Bluesky activity","prompt":"Grab the most recent 3 pages of posts from the Bluesky account @mozilla.bsky.social and include sentiment analysis so I can see how their messaging has been landing emotionally."},{"title":"Audit a public figure's posting history","prompt":"Fetch all the posts and replies from the Bluesky profile at https://bsky.app/profile/jack.bsky.social — I want to see everything they've posted, including reposts, newest first."},{"title":"Track a news outlet's Bluesky feed","prompt":"Get the last page of posts from the Bluesky handle nytimes.bsky.social and flag which items are reposts vs original posts so I can filter for their own content only."}],"resultDescription":"A merged, paginated list of the user's Bluesky feed items in feed order (pinned post first, then newest first). Each item includes post content, timestamps, and boolean flags: is_reply, is_repost, and is_pinned. If sentiment analysis is requested, each item also includes a sentiment object with scores (0–100) for eight emotions (joy, trust, fear, surprise, sadness, disgust, anger, anticipation), a dominant_emotion, emotional_intensity (0–10), and a polarity label (positive, negative, or neutral).","failureModes":["Unknown or non-existent Bluesky handle returns a 404 or empty result set","Providing neither username nor url results in a validation error","Requesting more than 20 pages triggers a schema validation error","Private or suspended accounts may return empty or restricted results","Rate limiting or upstream Bluesky API downtime may cause 5xx errors","Sentiment analysis adds latency and may time out for large page counts"],"whenToPreferThis":"Choose this endpoint when you need a complete, ordered view of a Bluesky user's content activity — including posts, replies, and reposts — in one unified feed. It is especially useful for social listening, content auditing, or profiling a specific account, particularly when optional emotion/sentiment scoring per post is needed. Prefer this over search-based endpoints when you know the exact handle or profile URL and want chronological feed data rather than keyword-filtered results.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-30T19:06:25.748Z","isFirstParty":false,"canonicalSlug":"api-direct-bluesky-user-feed-posts-replies-reposts-cf330aa5"}