All endpoints
Twitter Posts

Twitter Posts API

Search Twitter/X posts by keyword. Returns tweet content, engagement metrics (likes, retweets, replies, views, bookmarks), author metadata, and publication date. Supports fetching multiple pages of results in a single API call.

Price: $0.006 per page
Free tier: 50 requests/month
Endpoint
GET /v1/twitter/posts

Parameters

query *
Search keyword (max 500 characters)
pages
Number of pages to fetch, 1-10 (default: 1)
sort_by
Sort order: most_recent or relevance (default: most_recent)
get_sentiment
Set to true to add AI emotion analysis (+$0.001/page)

Response fields

posts
Array of matching tweets
title
Tweet title (format: @username on X)
url
Direct link to the tweet
date
Publication date and time
author
Twitter username
source
Platform name (Twitter (X))
domain
x.com
snippet
Tweet content text
likes
Number of likes
retweets
Number of retweets
replies
Number of replies
quotes
Number of quote tweets
bookmarks
Number of bookmarks
views
Number of views (null when unavailable)
author_followers
Author's follower count
author_verified
Whether the author is verified
lang
Tweet language code (e.g., en)
is_reply
Whether the tweet is a reply
is_quote
Whether the tweet is a quote tweet
hashtags
Hashtags used in the tweet
user_mentions
Usernames mentioned in the tweet
sentiment
Emotion analysis: emotions, dominant_emotion, emotional_intensity, polarity (when get_sentiment=true)
pages
Number of pages fetched
count
Total results returned

Example Request

curl "https://apidirect.io/v1/twitter/posts?query=AI&pages=2&sort_by=most_recent" \
  -H "X-API-Key: YOUR_API_KEY"

Example Response

{
  "posts": [
    {
      "title": "@username on X",
      "url": "https://twitter.com/username/status/...",
      "date": "2024-01-15 14:30:00",
      "author": "username",
      "source": "Twitter (X)",
      "domain": "x.com",
      "snippet": "Tweet content here...",
      "likes": 142,
      "retweets": 38,
      "replies": 12,
      "quotes": 5,
      "bookmarks": 23,
      "views": 18420,
      "author_followers": 5243,
      "author_verified": false,
      "lang": "en",
      "is_reply": false,
      "is_quote": false,
      "hashtags": ["AI", "MachineLearning"],
      "user_mentions": ["OpenAI"],
      "sentiment": {
        "emotions": {
          "joy": 40,
          "trust": 55,
          "fear": 0,
          "surprise": 10,
          "sadness": 0,
          "disgust": 0,
          "anger": 0,
          "anticipation": 30
        },
        "dominant_emotion": "trust",
        "emotional_intensity": 5,
        "polarity": "positive"
      }
    }
  ],
  "pages": 2,
  "count": 40
}

Frequently asked questions

How recent is the data?

The posts are sourced in real-time from Twitter's public search engine, so you can access tweets from the last few years up to the last few seconds.

Does the Twitter Search API include comments and replies?

Yes, the API includes posts, comments and replies. You can use the is_reply field to filter replies from original posts.

What engagement data is included?

Each tweet includes likes, retweets, replies, quotes, bookmarks, and views. You also get author metadata like follower count and verification status. Views may be null for older tweets where this data is unavailable.

How does pricing work?

You only pay for successful requests. The Twitter Posts API costs $0.006 per page. There are no monthly fees or commitments. You get 50 free requests per endpoint every month.

Do I need a credit card to start?

No. You can sign up and use the free tier (50 requests/endpoint/month) without adding a payment method. You only need to add a card when you want to exceed the free tier.

Are there rate limits?

Yes, there's a concurrency limit of 3 simultaneous requests per endpoint per user. If you need more, just get in touch.

Start using the Twitter Posts API

Get your API key and start making requests in minutes. 50 requests/month free every month.

Get API Key