webstractor
Developer docs

X profiles and posts

Extract known public X content.

Submit an exact public profile or post URL to GET /v1/extract. Profile extraction includes available profile metadata and up to 20 recent public posts in newest-first order.

curl --get 'https://api.webstractor.com/v1/extract' \
  --data-urlencode 'url=https://x.com/Cloudflare' \
  --data-urlencode 'format=json'

Supported X inputs

InputResult
Exact public profile URLA semantic profile with available identity, biography, counts, profile media, and up to 20 recent posts.
Exact public status URLOne semantic post with public text, author, timestamp, engagement, and accessible media metadata.
Exact handleUse GET /v1/x/users?q=@handle to resolve one public profile without first constructing its URL.

Exact handle lookup

curl --get 'https://api.webstractor.com/v1/x/users' \
  --data-urlencode 'q=@Cloudflare' \
  --data-urlencode 'format=json'

The q value must be one exact X handle, with or without @. JSON returns an x-user-search feed containing at most one semantic profile item. Use profile URL extraction when recent posts and richer profile fields are needed.

Behavior and limits

  • Only exact public profiles, exact public posts, and exact handles are supported.
  • Keyword post search and broad profile discovery are not supported because X requires sign-in for those operations.
  • No account session, caller credentials, copied cookies, or browser rendering is used.
  • Private, deleted, login-only, and age-gated content is unavailable.
  • Successful profiles cache for one hour; exact standalone posts use the normal extraction cache policy.

MCP

Use extract_public_url with an exact X profile or post URL. Use get_x_profile only when an exact handle is available.