X / Twitter API

X / Twitter Article API

Get a public X long-form article from its wrapper post URL, including its author, engagement, cover image, and structured content blocks.

POST/v1/run/twitter.article
Uptime
98.21%
30d · 279 calls
Requests
279
30d · weekly, last 12 wks
Response
1.9s
median · 30d

Pricing

One price, in dollars

Try it

Make your first request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.
{
  "data": {
    "author": {
      "avatarUrl": "https://example.com/image.jpg",
      "bio": "A short example description of this item.",
      "blueVerified": true,
      "coverUrl": "https://example.com/page",
      "createdUtc": 12.5,
      "followers": 12500,
      "following": 12500,
      "handle": "alex_rivera",
      "id": "a1b2c3d4",
      "location": "example",
      "name": "Example title",
      "url": "https://example.com/page",
      "verified": true
    },
    "contentBlocks": [
      {
        "entities": [
          {
            "key": 42,
            "length": 180,
            "offset": 42
          }
        ],
        "height": 42,
        "image": "https://example.com/image.jpg",
        "inlineStyles": [
          {
            "length": 180,
            "offset": 42,
            "style": "example"
          }
        ],
        "text": "A short example description of this item.",
        "type": "general",
        "width": 1024
      }
    ],
    "coverImage": "https://example.com/image.jpg",
    "createdUtc": 12.5,
    "id": "a1b2c3d4",
    "likes": 12500,
    "previewText": "A short example description of this item.",
    "quotes": 42,
    "replies": 42,
    "title": "Example title",
    "views": 12500
  },
  "found": true
}
Response interface
interface TwitterArticleResponse {
  data: {
    author: {
      avatarUrl?: string;
      bio?: string;
      blueVerified?: boolean;
      coverUrl?: string;
      createdUtc?: number;
      followers?: number;
      following?: number;
      handle: string;
      id: string;
      location?: string;
      name?: string;
      url: string;
      verified?: boolean;
    };
    contentBlocks: {
      entities?: {
        key: number;
        length: number;
        offset: number;
      }[];
      height?: number;
      image?: string;
      inlineStyles?: {
        length: number;
        offset: number;
        style: string;
      }[];
      text?: string;
      type: string;
      width?: number;
    }[];
    coverImage?: string;
    createdUtc: number;
    id: string;
    likes?: number;
    previewText?: string;
    quotes?: number;
    replies?: number;
    title: string;
    views?: number;
  } | null;
  found: boolean;
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

Request, response, and price

Last verified 2026-09-16 · uptime and latency measured over 30d
POST /v1/run/twitter.article
curl -X POST https://api.getanyapi.com/v1/run/twitter.article \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://x.com/Decentralisedco/status/1905545699552375179"}'
FieldTypeExample value
Request body
urlstring"https://x.com/Decentralisedco/status/1905545699552375179"Canonical x.com or twitter.com URL of the public wrapper post for an X Article.
Response
dataobjectNormalized public article, or null when the wrapper post is not an article.
data.authorobjectArticle author profile at retrieval time. Populated whenever the provider has data for the entity.
data.author.avatarUrlstringProfile avatar image URL.
data.author.biostringProfile biography.
data.author.blueVerifiedbooleanWhether the account has X blue verification.
data.author.coverUrlstringProfile cover image URL when available.
data.author.createdUtcnumberUTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
data.author.followersintegerFollower count at retrieval time.
data.author.followingintegerFollowing count at retrieval time.
data.author.handlestringCurrent X handle without @. Populated whenever the provider has data for the entity.
data.author.idstringStable numeric X user ID. Populated whenever the provider has data for the entity.
data.author.locationstringSelf-reported profile location.
data.author.namestringProfile display name.
data.author.urlstringCanonical public X profile URL. Populated whenever the provider has data for the entity.
data.author.verifiedbooleanWhether the account has legacy verification.
data.contentBlocksobject[]Ordered, explicitly normalized article blocks. Unknown future block types remain representable through type and optional fields. Populated whenever the provider has data for the entity.
data.contentBlocks[].entitiesobject[]Entity references within the block text.
data.contentBlocks[].entities[].keyintegerUpstream entity table key.
data.contentBlocks[].entities[].lengthintegerEntity character length.
data.contentBlocks[].entities[].offsetintegerZero-based character offset.
data.contentBlocks[].heightintegerImage height in pixels when supplied.
data.contentBlocks[].imagestringCanonical image URL for an image block.
data.contentBlocks[].inlineStylesobject[]Formatting ranges within the block text.
data.contentBlocks[].inlineStyles[].lengthintegerFormatted character length.
data.contentBlocks[].inlineStyles[].offsetintegerZero-based character offset.
data.contentBlocks[].inlineStyles[].stylestringInline style name reported by X.
data.contentBlocks[].textstringText content for a text-bearing block.
data.contentBlocks[].typestringBlock type reported by X, such as unstyled, header-two, image, divider, blockquote, or list item. Populated whenever the provider has data for the entity.
data.contentBlocks[].widthintegerImage width in pixels when supplied.
data.coverImagestringCanonical article cover image URL when available.
data.createdUtcnumberUTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.
data.idstringStable X Article entity ID. Populated whenever the provider has data for the entity.
data.likesintegerWrapper post like count at retrieval time.
data.previewTextstringPreview text supplied by X.
data.quotesintegerWrapper post quote count at retrieval time.
data.repliesintegerWrapper post reply count at retrieval time.
data.titlestringArticle title. Populated whenever the provider has data for the entity.
data.viewsintegerWrapper post view count at retrieval time.
foundbooleanTrue when the wrapper post contains a public X Article.
Price
Price per requestUSD$0.00075
Price /1k reqUSD$0.75

FAQ

About the X / Twitter Article API

The AnyAPI X / Twitter Article API returns X / Twitter article data as normalized JSON from one POST call to /v1/run/twitter.article. Get a public X long-form article from its wrapper post URL, including its author, engagement, cover image, and structured content blocks. AnyAPI returns one normalized schema whichever source serves it. It costs from $0.75 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 98.2% of X / Twitter article calls through AnyAPI succeeded, with a median response time of 1.9 seconds across 279 measured calls.

It costs from $0.75 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet, each call draws it down, and a failed request costs $0.

Get a public X long-form article from its wrapper post URL, including its author, engagement, cover image, and structured content blocks. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 98.2% of X / Twitter article calls through AnyAPI succeeded, with a median response time of 1.9 seconds across 279 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.