---
title: "Tweets"
method: GET
path: "/tw-v2/community/tweets"
tags: ["Community"]
---

# Tweets

`GET /tw-v2/community/tweets`

## Request

- Base URL: `https://api.tweetapi.com`
- URL: `https://api.tweetapi.com/tw-v2/community/tweets`
- Auth: API key in header `X-API-Key`

Retrieve tweets from a specific community. Returns a paginated timeline of community tweets with configurable sorting.

## Query parameters

- `communityId` string, required
- `cursor` string
- `sortBy` 'Relevance' | 'Recency'

## Response `200`

Successful response

- TweetPageResponse
  - `data` Tweet[], required
    - `id` string, required
    - `conversationId` string, nullable
    - `text` string, required
    - `displayTextRange` integer[]
    - `author` User, nullable
      - `id` string, required
      - `username` string, required
      - `name` string
      - `bio` string
      - `location` string, nullable
      - `website` string, uri, nullable
      - `pinnedTweetIds` string[]
      - `avatar` string, uri, nullable
      - `banner` string, uri, nullable
      - `profileImageShape` 'Circle' | 'Square' | 'null', nullable
      - `verified` boolean
      - `isBlueVerified` boolean
      - `verifiedType` string, nullable
      - `verifiedSince` string, date-time, nullable
      - `isIdentityVerified` boolean
      - `isProtected` boolean
      - `possiblySensitive` boolean
      - `profileInterstitialType` string, nullable
      - `withheldInCountries` string[]
      - `professional` object, nullable
      - `businessAccount` object, nullable
      - `creatorSubscriptionsCount` integer
      - `hasHiddenSubscriptions` boolean
      - `highlightsInfo` object, nullable
      - `hasGraduatedAccess` boolean
      - `isProfileTranslatable` boolean
      - `hasCustomTimelines` boolean
      - `isTranslator` boolean
      - `affiliatesHighlightedLabel` object, nullable
      - `defaultProfile` boolean
      - `defaultProfileImage` boolean
      - `followerCount` integer
      - `followingCount` integer
      - `tweetCount` integer
      - `listedCount` integer
      - `mediaCount` integer
      - `favoritesCount` integer
      - `createdAt` string, date-time, nullable
    - `source` string, nullable
    - `type` 'tweet' | 'reply' | 'quote' | 'retweet' | 'thread'
    - `replyTo` object, nullable
    - `quotedTweet` Tweet (recursive)
    - `reactionContext` object, nullable
    - `retweetedTweet` Tweet (recursive)
    - `likeCount` integer
    - `retweetCount` integer
    - `replyCount` integer
    - `quoteCount` integer
    - `bookmarkCount` integer
    - `viewCount` integer, nullable
    - `media` Media[], nullable
      - `id` string, required
      - `key` string
      - `type` 'photo' | 'video' | 'animated_gif', required
      - `url` string, uri
      - `displayUrl` string
      - `expandedUrl` string
      - `thumbnailUrl` string, uri, nullable
      - `width` integer
      - `height` integer
      - `aspectRatio` integer[]
      - `sizes` object
      - `duration` number, nullable
      - `bitrate` integer, nullable
      - `videoInfo` object, nullable
      - `altText` string, nullable
      - `sensitiveMedia` boolean
      - `features` object, nullable
      - `mediaAvailability` object
      - `allowDownload` boolean
      - `mediaStats` object, nullable
      - `processingInfo` object, nullable
      - `sourceStatusId` string, nullable
      - `sourceUserId` string, nullable
      - `stickers` object[], nullable
    - `poll` object, nullable
    - `card` object, nullable
    - `article` Article, nullable
      - `id` string, required
      - `title` string, required
      - `text` string, required
      - `previewText` string, required
      - `coverImageUrl` string, uri, nullable, required
    - `hashtags` string[]
    - `mentions` union[]
      - union
        - string
        - object
    - `urls` string[]
    - `symbols` string[]
    - `possiblySensitive` boolean
    - `limitedActions` string, nullable
    - `hasAIGeneratedMedia` boolean
    - `isPaidPromotion` boolean
    - `isEdited` boolean
    - `editControl` object, nullable
    - `isTranslatable` boolean
    - `lang` string
    - `translatedText` string, nullable
    - `hasBirdwatchNotes` boolean
    - `birdwatchPivot` object, nullable
    - `conversationControl` object, nullable
    - `isPromoted` boolean
    - `promotedMetadata` object, nullable
    - `communityId` string, nullable
    - `communityResults` object, nullable
    - `createdAt` string, date-time, nullable
    - `place` object, nullable
  - `pagination` Pagination, required
    - `nextCursor` string, nullable, required
    - `prevCursor` string, nullable, required

## Other responses

- `400`: The request is invalid. Check the parameters and try again.
- `401`: The TweetAPI key or caller-supplied Twitter authentication token is missing or invalid.
- `403`: The authenticated account is not permitted to perform the operation.
- `404`: The requested resource or route was not found.
- `429`: A plan limit rejected the request. The code field says which one. RATE_LIMITED means the per-minute limit was exceeded; wait for Retry-After. QUOTA_EXHAUSTED means the allowance and prepaid balance are used up. SUBSCRIPTION_INACTIVE means the subscription has expired or is inactive. Retrying won't fix the last two. A 429 without a code is temporary; retry with bounded backoff. This response does not include X-RateLimit headers.
- `500`: The request could not be completed.
- `503`: Request allowance is temporarily unavailable. This request was not processed. Follow Retry-After before trying again; contact support if the error persists.

---

[API](https://skmtc.dev/tweetapi/apis/tweetapi-v2-api-reference.md) · [All operations](https://skmtc.dev/tweetapi/apis/tweetapi-v2-api-reference/llms.txt) · [OpenAPI document](https://skmtc.dev/tweetapi/apis/tweetapi-v2-api-reference/revisions/51bc9024013d?raw)
