All endpoints
Bluesky Post Quotes

Bluesky Post Quotes API

Get the posts that quote a Bluesky post, newest first. Returns the full quoting post with its text, author, engagement metrics, and media.

Price: $0.003 per page
Free tier: 50 requests/month
Endpoint
GET /v1/bluesky/post/quotes

Parameters

url
Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). Provide either url or post_id.
post_id
The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). Provide either url or post_id.
pages
Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned.
get_sentiment
Set to true to add AI emotion analysis (Plutchik's Wheel) to each result. Adds +$0.001 per page to the cost. Returns emotion scores, dominant emotion, intensity, and polarity.

Response fields

quotes
Array of quoting posts, newest first
title
Post title (format: @handle on Bluesky)
url
Direct link to the post
date
Publication date and time (UTC, YYYY-MM-DD HH:MM:SS)
author
Author's Bluesky handle
author_name
Author's display name
author_id
Author's DID (permanent account ID)
author_verified
Whether the author is verified
source
"Bluesky"
domain
"bsky.app"
snippet
Post text
likes
Number of likes
replies
Number of replies
reposts
Number of reposts
quotes
Number of quote posts
bookmarks
Number of bookmarks
lang
Post language code (e.g. en), empty when not set
is_reply
Whether the post is a reply
in_reply_to_id
post_id of the post replied to (empty when not a reply)
is_quote
Whether the post quotes another post
quoted_post
The quoted post (post_id, url, date, author, author_name, author_verified, snippet, likes, reposts), or null
hashtags
Hashtags used in the post
mentions
Handles mentioned in the post
links
URLs linked in the post text
link_preview
Link card for posts sharing a URL (url, title, description, image_url), or null
media_type
text, image, video, or carousel
image_url
Full-size image URL for image posts, the thumbnail for video posts, empty for text-only
video_url
Video playlist URL (HLS) for video posts, empty otherwise
carousel_media
Images of a multi-image post (image_url, thumbnail_url, alt, width, height); empty otherwise
post_id
The post's AT URI (pass it as post_id to the post endpoints)
sentiment
Emotion analysis: emotions, dominant_emotion, emotional_intensity, polarity (when get_sentiment=true)
post_id
The post's AT URI
total
The post's total quote count
pages
Number of pages returned
count
Number of results returned

Example Request

curl "https://apidirect.io/v1/bluesky/post/quotes?url=https%3A%2F%2Fbsky.app%2Fprofile%2Fbsky.app%2Fpost%2F3l6oveex3ii2l&pages=1"   -H "X-API-Key: YOUR_API_KEY"

Example Response

{
  "quotes": [
    {
      "title": "@ekimdafluffyeevee.bsky.social on Bluesky",
      "url": "https://bsky.app/profile/ekimdafluffyeevee.bsky.social/post/3musg7o2nfk24",
      "date": "2026-09-05 21:26:54",
      "author": "ekimdafluffyeevee.bsky.social",
      "author_name": "michael_Mikafran",
      "author_id": "did:plc:aske3ha7qi4gm2fskxuxo64h",
      "author_verified": false,
      "source": "Bluesky",
      "domain": "bsky.app",
      "snippet": "open social network my ass being eaten by cannabis",
      "likes": 4,
      "replies": 0,
      "reposts": 0,
      "quotes": 0,
      "bookmarks": 0,
      "lang": "en",
      "is_reply": false,
      "in_reply_to_id": "",
      "is_quote": true,
      "quoted_post": {
        "post_id": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l",
        "url": "https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l",
        "date": "2024-10-17 07:06:51",
        "author": "bsky.app",
        "author_name": "Bluesky",
        "author_verified": false,
        "snippet": "👋  Bluesky is an open social network that gives creators independence from platforms, developers the freedom to build, a…",
        "likes": 63685,
        "reposts": 9530
      },
      "hashtags": [],
      "mentions": [],
      "links": [],
      "link_preview": null,
      "media_type": "text",
      "image_url": "",
      "video_url": "",
      "carousel_media": [],
      "post_id": "at://did:plc:aske3ha7qi4gm2fskxuxo64h/app.bsky.feed.post/3musg7o2nfk24"
    }
  ],
  "post_id": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l",
  "total": 708,
  "pages": 1,
  "count": 50
}

Frequently asked questions

What is a quote post?

A post that embeds another post with its own commentary. Each result's quoted_post is the post you asked about.

How does pricing work?

You only pay for successful requests. The Bluesky Post Quotes API costs $0.003 per page. There are no monthly fees or commitments. You get 50 free requests per endpoint every month.

Do I need a credit card to start?

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.

Are there rate limits?

Yes, there's a concurrency limit of 10 simultaneous requests per endpoint per user. If you need more, just get in touch.

Start using the Bluesky Post Quotes API

Get your API key and start making requests in minutes. 50 requests/month free every month.

Get API Key