Get a community's tweets
curl --request GET \
--url https://api.scraperize.com/v1/twitter/community/tweets \
--header 'x-api-key: <api-key>'import requests
url = "https://api.scraperize.com/v1/twitter/community/tweets"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.scraperize.com/v1/twitter/community/tweets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.scraperize.com/v1/twitter/community/tweets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.scraperize.com/v1/twitter/community/tweets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.scraperize.com/v1/twitter/community/tweets")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scraperize.com/v1/twitter/community/tweets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"communityId": "1433869915434278912",
"tweets": [
{
"id": "2090485026769051927",
"url": "https://x.com/d2fl/status/2090485026769051927",
"text": "Communities are not gone. \n\nI still run several as admin/mod and just joined another active one this week.\n\nSome things stay broken: a lot of posts still miss the community tag line, and there is still no way to turn off “share to followers” in many rooms.\n\nBut the core still works. People can find real groups of like-minded users, pin posts, and moderate.\n\nIf you locate an active community that people actually visit, joining and posting has almost no downside. A few follows can still trickle in from the right rooms.",
"isLongForm": true,
"lang": null,
"createdAtMs": 1787245444000,
"createdAt": "2026-08-20T17:04:04.000Z",
"counts": {
"likes": 34,
"retweets": 4,
"replies": 5,
"quotes": null,
"bookmarks": 4
},
"views": "19759",
"author": {
"id": "43095363",
"name": "Tom Finnell",
"screenName": "d2fl",
"url": "https://x.com/d2fl",
"bio": null,
"avatarUrl": "https://pbs.twimg.com/profile_images/2077515363525271552/APh2RAru_normal.jpg",
"avatarUrlHd": "https://pbs.twimg.com/profile_images/2077515363525271552/APh2RAru_400x400.jpg",
"followers": 11499,
"following": 7542,
"tweetCount": 136377,
"verified": true,
"verifiedType": null,
"protected": false,
"profileImageShape": "Circle",
"professionalCategory": null
},
"media": [
{
"type": "photo",
"id": "2090484840042741760",
"thumbnailUrl": "https://pbs.twimg.com/media/HQLk4tsWQAALWid.jpg",
"altText": null,
"width": 1408,
"height": 1408,
"durationMillis": null,
"bestVideoUrl": null,
"variants": [],
"sourceStatusId": null,
"sensitiveMediaWarning": null,
"additionalMediaInfo": null
}
],
"mentions": [],
"urls": [],
"hashtags": [],
"cashtags": [],
"card": null,
"communityNote": null,
"article": null,
"isReply": false,
"replyToTweetId": null,
"replyToUserId": null,
"isQuote": false,
"quotedTweetId": null,
"quotedTweet": null,
"possiblySensitive": false,
"conversationControl": null,
"editTweetIds": null,
"place": null
},
{
"id": "2090515733159555570",
"url": "https://x.com/hiilit/status/2090515733159555570",
"text": "Communities are not gone , that’s right, but there’s something went wrong, sometimes the settings disappear and as administrator I could not able to access",
"isLongForm": false,
"lang": null,
"createdAtMs": 1787252765000,
"createdAt": "2026-08-20T19:06:05.000Z",
"counts": {
"likes": 25,
"retweets": 3,
"replies": 5,
"quotes": null,
"bookmarks": 2
},
"views": "13563",
"author": {
"id": "2732705829",
"name": "Maha",
"screenName": "hiilit",
"url": "https://x.com/hiilit",
"bio": null,
"avatarUrl": "https://pbs.twimg.com/profile_images/2095489995717193728/Qd6GXjQo_normal.jpg",
"avatarUrlHd": "https://pbs.twimg.com/profile_images/2095489995717193728/Qd6GXjQo_400x400.jpg",
"followers": 35161,
"following": 15015,
"tweetCount": 78768,
"verified": true,
"verifiedType": null,
"protected": false,
"profileImageShape": "Circle",
"professionalCategory": null
},
"media": [],
"mentions": [],
"urls": [],
"hashtags": [],
"cashtags": [],
"card": null,
"communityNote": null,
"article": null,
"isReply": false,
"replyToTweetId": null,
"replyToUserId": null,
"isQuote": false,
"quotedTweetId": null,
"quotedTweet": null,
"possiblySensitive": null,
"conversationControl": null,
"editTweetIds": null,
"place": null
},
{
"id": "2092115179467428129",
"url": "https://x.com/T_z_4/status/2092115179467428129",
"text": "Now that the deprecation of X Communities is final and the shift to XChat has begun, what will happen to all the valuable archives, information, and old posts created over the years? Will there be an option for admins to export community data, or will it just vanish into thin air? Anyone got updates on this?",
"isLongForm": true,
"lang": null,
"createdAtMs": 1787634103000,
"createdAt": "2026-08-25T05:01:43.000Z",
"counts": {
"likes": 17,
"retweets": 3,
"replies": 2,
"quotes": null,
"bookmarks": 2
},
"views": "13775",
"author": {
"id": "1418686894691467265",
"name": "آيَـآل",
"screenName": "T_z_4",
"url": "https://x.com/T_z_4",
"bio": null,
"avatarUrl": "https://pbs.twimg.com/profile_images/2032281442936381440/5oGOku7c_normal.jpg",
"avatarUrlHd": "https://pbs.twimg.com/profile_images/2032281442936381440/5oGOku7c_400x400.jpg",
"followers": 2146,
"following": 815,
"tweetCount": 3044,
"verified": true,
"verifiedType": null,
"protected": false,
"profileImageShape": "Circle",
"professionalCategory": null
},
"media": [],
"mentions": [],
"urls": [],
"hashtags": [],
"cashtags": [],
"card": null,
"communityNote": null,
"article": null,
"isReply": false,
"replyToTweetId": null,
"replyToUserId": null,
"isQuote": false,
"quotedTweetId": null,
"quotedTweet": null,
"possiblySensitive": null,
"conversationControl": null,
"editTweetIds": null,
"place": null
}
],
"tweetCount": 11,
"fetchedAt": "2026-09-14T12:13:21.246Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required — pass it in the `x-api-key` header.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 1 credit, but your balance is 0. Top up to continue.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested content was not found (it may not exist, be deleted, or be private).",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"details": [
{
"path": "url",
"message": "Required"
}
]
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded — max 100 requests per 60s. Retry in ~30s.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UPSTREAM_BLOCKED",
"message": "The source was temporarily unavailable. Please try again shortly.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}Twitter
Get a community's tweets
Fetches the tweet timeline of a public X Community (x.com/i/communities/<id>, logged-out). Each tweet is fully shaped WITH its author (community tweets come from many members). Returns the batch present on the initial page load.
GET
/
v1
/
twitter
/
community
/
tweets
Get a community's tweets
curl --request GET \
--url https://api.scraperize.com/v1/twitter/community/tweets \
--header 'x-api-key: <api-key>'import requests
url = "https://api.scraperize.com/v1/twitter/community/tweets"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.scraperize.com/v1/twitter/community/tweets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.scraperize.com/v1/twitter/community/tweets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.scraperize.com/v1/twitter/community/tweets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.scraperize.com/v1/twitter/community/tweets")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scraperize.com/v1/twitter/community/tweets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"communityId": "1433869915434278912",
"tweets": [
{
"id": "2090485026769051927",
"url": "https://x.com/d2fl/status/2090485026769051927",
"text": "Communities are not gone. \n\nI still run several as admin/mod and just joined another active one this week.\n\nSome things stay broken: a lot of posts still miss the community tag line, and there is still no way to turn off “share to followers” in many rooms.\n\nBut the core still works. People can find real groups of like-minded users, pin posts, and moderate.\n\nIf you locate an active community that people actually visit, joining and posting has almost no downside. A few follows can still trickle in from the right rooms.",
"isLongForm": true,
"lang": null,
"createdAtMs": 1787245444000,
"createdAt": "2026-08-20T17:04:04.000Z",
"counts": {
"likes": 34,
"retweets": 4,
"replies": 5,
"quotes": null,
"bookmarks": 4
},
"views": "19759",
"author": {
"id": "43095363",
"name": "Tom Finnell",
"screenName": "d2fl",
"url": "https://x.com/d2fl",
"bio": null,
"avatarUrl": "https://pbs.twimg.com/profile_images/2077515363525271552/APh2RAru_normal.jpg",
"avatarUrlHd": "https://pbs.twimg.com/profile_images/2077515363525271552/APh2RAru_400x400.jpg",
"followers": 11499,
"following": 7542,
"tweetCount": 136377,
"verified": true,
"verifiedType": null,
"protected": false,
"profileImageShape": "Circle",
"professionalCategory": null
},
"media": [
{
"type": "photo",
"id": "2090484840042741760",
"thumbnailUrl": "https://pbs.twimg.com/media/HQLk4tsWQAALWid.jpg",
"altText": null,
"width": 1408,
"height": 1408,
"durationMillis": null,
"bestVideoUrl": null,
"variants": [],
"sourceStatusId": null,
"sensitiveMediaWarning": null,
"additionalMediaInfo": null
}
],
"mentions": [],
"urls": [],
"hashtags": [],
"cashtags": [],
"card": null,
"communityNote": null,
"article": null,
"isReply": false,
"replyToTweetId": null,
"replyToUserId": null,
"isQuote": false,
"quotedTweetId": null,
"quotedTweet": null,
"possiblySensitive": false,
"conversationControl": null,
"editTweetIds": null,
"place": null
},
{
"id": "2090515733159555570",
"url": "https://x.com/hiilit/status/2090515733159555570",
"text": "Communities are not gone , that’s right, but there’s something went wrong, sometimes the settings disappear and as administrator I could not able to access",
"isLongForm": false,
"lang": null,
"createdAtMs": 1787252765000,
"createdAt": "2026-08-20T19:06:05.000Z",
"counts": {
"likes": 25,
"retweets": 3,
"replies": 5,
"quotes": null,
"bookmarks": 2
},
"views": "13563",
"author": {
"id": "2732705829",
"name": "Maha",
"screenName": "hiilit",
"url": "https://x.com/hiilit",
"bio": null,
"avatarUrl": "https://pbs.twimg.com/profile_images/2095489995717193728/Qd6GXjQo_normal.jpg",
"avatarUrlHd": "https://pbs.twimg.com/profile_images/2095489995717193728/Qd6GXjQo_400x400.jpg",
"followers": 35161,
"following": 15015,
"tweetCount": 78768,
"verified": true,
"verifiedType": null,
"protected": false,
"profileImageShape": "Circle",
"professionalCategory": null
},
"media": [],
"mentions": [],
"urls": [],
"hashtags": [],
"cashtags": [],
"card": null,
"communityNote": null,
"article": null,
"isReply": false,
"replyToTweetId": null,
"replyToUserId": null,
"isQuote": false,
"quotedTweetId": null,
"quotedTweet": null,
"possiblySensitive": null,
"conversationControl": null,
"editTweetIds": null,
"place": null
},
{
"id": "2092115179467428129",
"url": "https://x.com/T_z_4/status/2092115179467428129",
"text": "Now that the deprecation of X Communities is final and the shift to XChat has begun, what will happen to all the valuable archives, information, and old posts created over the years? Will there be an option for admins to export community data, or will it just vanish into thin air? Anyone got updates on this?",
"isLongForm": true,
"lang": null,
"createdAtMs": 1787634103000,
"createdAt": "2026-08-25T05:01:43.000Z",
"counts": {
"likes": 17,
"retweets": 3,
"replies": 2,
"quotes": null,
"bookmarks": 2
},
"views": "13775",
"author": {
"id": "1418686894691467265",
"name": "آيَـآل",
"screenName": "T_z_4",
"url": "https://x.com/T_z_4",
"bio": null,
"avatarUrl": "https://pbs.twimg.com/profile_images/2032281442936381440/5oGOku7c_normal.jpg",
"avatarUrlHd": "https://pbs.twimg.com/profile_images/2032281442936381440/5oGOku7c_400x400.jpg",
"followers": 2146,
"following": 815,
"tweetCount": 3044,
"verified": true,
"verifiedType": null,
"protected": false,
"profileImageShape": "Circle",
"professionalCategory": null
},
"media": [],
"mentions": [],
"urls": [],
"hashtags": [],
"cashtags": [],
"card": null,
"communityNote": null,
"article": null,
"isReply": false,
"replyToTweetId": null,
"replyToUserId": null,
"isQuote": false,
"quotedTweetId": null,
"quotedTweet": null,
"possiblySensitive": null,
"conversationControl": null,
"editTweetIds": null,
"place": null
}
],
"tweetCount": 11,
"fetchedAt": "2026-09-14T12:13:21.246Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required — pass it in the `x-api-key` header.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 1 credit, but your balance is 0. Top up to continue.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested content was not found (it may not exist, be deleted, or be private).",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"details": [
{
"path": "url",
"message": "Required"
}
]
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded — max 100 requests per 60s. Retry in ~30s.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UPSTREAM_BLOCKED",
"message": "The source was temporarily unavailable. Please try again shortly.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}Authorizations
Your API key. Send it in the x-api-key header (or Authorization: Bearer <key>). Create and manage keys from your dashboard.
Query Parameters
Community URL, e.g. https://x.com/i/communities/1433869915434278912
Optional. Return a cached result if one this age or newer exists — served for 0 credits with meta.cached=true and meta.cachedAt. Otherwise a fresh scrape runs (1 credit) and refreshes the cache. Omit to always scrape fresh.
Available options:
1d, 3d, 7d, 14d, 30d