Platforms

Twitter

Public Twitter profiles, timelines, social graph, search, posts, and conversations through normalized Openhandle contracts.

Twitter is available with canonical profile identifiers, timelines, followers, following, search, post engagement, lists, and conversations. It uses the same envelopes, freshness, pagination, errors, Test data, and billing contracts as the other platforms.

Endpoint

OperationEndpoint
Get a profileGET /v1/twitter/profiles/{identifier}
List user postsGET /v1/twitter/profiles/{identifier}/posts
List user repliesGET /v1/twitter/profiles/{identifier}/replies
List user mediaGET /v1/twitter/profiles/{identifier}/media
List followersGET /v1/twitter/profiles/{identifier}/followers
List followingGET /v1/twitter/profiles/{identifier}/following
Get a postGET /v1/twitter/posts/{identifier}
List post repliesGET /v1/twitter/posts/{identifier}/comments
List nested repliesGET /v1/twitter/posts/{identifier}/comments/{comment_id}/replies
List post repostersGET /v1/twitter/posts/{identifier}/reposters
Get a listGET /v1/twitter/lists/{identifier}
List list membersGET /v1/twitter/lists/{identifier}/members
List list postsGET /v1/twitter/lists/{identifier}/posts
Search latest or top postsGET /v1/twitter/search/posts?q=...&sort=latest
Search usersGET /v1/twitter/search/users?q=...
Search images or videosGET /v1/twitter/search/media?q=...&type=image
Search suggestionsGET /v1/twitter/search/suggestions?q=...

Use @username in {identifier} for a username, or place the stable platform ID there directly. Both work on every profile path, including /posts and /replies. SDKs parse supported URLs locally. Raw HTTP clients can fetch a typed resource in one call with POST /v1/urls/fetch.

Test example

curl "https://api.openhandle.dev/v1/twitter/profiles/@copperfield_lab_x_test?freshness=24h" \
  -H "Authorization: Bearer $OPENHANDLE_TEST_KEY"

Expected: HTTP 200, Openhandle-Environment: test, and Openhandle-Cost: 0.000. Private, deleted, sparse, zero, and restricted cases are published in the Test Data catalog.

Live example

curl "https://api.openhandle.dev/v1/twitter/profiles/@OpenAI?freshness=7d" \
  -H "Authorization: Bearer $OPENHANDLE_LIVE_KEY"

Scope

  • Profile lookup maps public identity, bio, avatar, verification, protection, follower, following, and post-count fields. Its platform extension preserves account creation time, location, banner, likes, media count, pinned post IDs, and country withholding when available.
  • Posts map text, photos, videos, all usable media renditions, metrics, hashtags, mentions, and stable conversation and reply relationships. Quoted and reposted posts are embedded as typed TwitterPost nodes when the upstream response includes them; their IDs remain available independently.
  • Twitter metrics extend the shared post metrics with quote and bookmark counts when available.
  • Twitter conversations use the shared Openhandle comment and nested-reply endpoints, including opaque cursor pagination. Comment metrics preserve views, reposts, quotes, and bookmarks in addition to likes and replies, and thread-root IDs make conversation grouping explicit.
  • User replies, media, followers, following, user search, post search, and media search are published with the same opaque cursor contract. Search suggestions return typed suggestion nodes with text, kind, score, highlighting, and a referenced user when the provider supplies one.
  • The upstream integration stays isolated behind the Openhandle adapter contract, so provider changes do not reach your code.
  • Bookmarks and private list data are not exposed.
  • Write actions, direct messages, and customer account login are not part of the public-data API.

On this page