Get the quote tweets of a post on X (Twitter)
TL;DR
About
Paste a post URL and you get back the quotes X lists under it, each with the quoter's own comment, handle, timestamp and engagement counts. The original post is not repeated, so pair this with get_tweet if you need its text and numbers. Say a SaaS founder tweets that the $12 plan is moving to $19 and has 70 quotes by lunch. With count raised to 100, they sort by views, leaving the few with null views at the bottom, and read the top five to see whether the angry takes are the ones getting seen. That decides who gets a reply first. The catch is that you only get what X's quotes list loads for your account, which leaves out quotes from protected accounts you don't follow. Scrolling also gives up after two scrolls in a row bring nothing new, so treat the count as what X served, not a census.
Input
url optionalFull URL of the post whose quotes you want, e.g. 'https://x.com/<handle>/status/<id>'. Pass this or urls.
urls optionalSeveral post URLs (max 10), read one after another in the same page, instead of url. count applies to each. Returns {results}, one per post in order, each with error null or what went wrong. A rate limit, lock or sign-in wall stops the batch: the remaining posts carry that error.
count optionalHow many to return. Without it, the script returns the first page X shows (often 20 to 40). With it, the script loads more until it has count, reaches the end, or X stops loading; complete says whether it reached the end.
Output
url optionalcount optionalNumber of quotes returned. 0 is a valid answer.
tweets optionalresults optionalWith urls only: one result per post, in order, with the same fields as a single answer (url, count, complete, tweets) plus error. When error is set, only url and error are present.
complete optionalTrue when X showed the end of the quotes and every one it sent is returned. False when there may be more: count was reached, X stopped loading, or no count was given and the first page is not the end.
Example output
Shape only: placeholder values generated from the output schema, not a real run.
{
"url": "https://example.com/item/123",
"count": 3,
"tweets": "…",
"results": [
{
"url": "https://example.com/item/123",
"count": 3,
"error": "…",
"tweets": "…",
"complete": true
}
],
"complete": true
}