Tweets, profiles and recent posts as clean JSON
Advanced X (Twitter) API
The official X API starts at $100/month and still gates most data behind strict caps. The Advanced X (Twitter) API is the simple alternative for public data: pass a post URL, a profile URL or just a username and get structured JSON back in one request. Post text, author, engagement metrics, media, follower counts, bio and verification, no developer account and no OAuth.
Every call performs a live scrape, so you always get current data instead of a stale cache. Get a single tweet, a full profile, or up to 50 recent posts per profile. Use the fields parameter to keep only the keys you need.
Free tier included, no credit card required. One key works across all 49 APIs.
- Endpoints
- 4
- Response Time
- 2-45s
- Data Freshness
- Live
Key features
- Single post by URL: text, author, engagement metrics, media, date
- Profile info: id, name, biography, followers, following, posts_count, is_verified
- Recent posts per profile (limit 1-50, default 10)
- Pass a username instead of a URL (leading @ accepted)
- fields parameter to select only the keys you need
- No X developer account, no OAuth, no $100/mo official tier
Built for
- Social listening and brand monitoring
- Sentiment analysis on posts and replies
- Influencer vetting and audience research
- Lead enrichment with live profile data
Try it
Build the request for your data
Edit the parameters below and see the exact curl command and JSON response you will get. No key required to preview.
Parameters
GET /twitter/v1/post?url=https%3A%2F%2Fx.com%2Fjack%2Fstatus%2F20 HTTP/1.1
Host: api.apicodex.io
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
{
"type": "post",
"url": "https://x.com/jack/status/20",
"data": {
"id": "20",
"user_posted": "jack",
"name": "jack",
"description": "just setting up my twttr",
"date_posted": "2006-03-21T20:50:14.000Z",
"replies": 12000,
"reposts": 130000,
"likes": 195000,
"photos": [],
"url": "https://x.com/jack/status/20"
}
}Documentation
Advanced X (Twitter) API Documentation
Pass an X (Twitter) post URL, a profile URL, or simply a username and get structured JSON back in a single request: post text, author, engagement metrics, media, full profile info and recent posts. A fresh scrape usually returns in 2-45 seconds; heavy calls may return HTTP 202 with a snapshot_id you resolve via /v1/result.
Base URL
https://api.apicodex.io/twitterAuthentication
Create a key at dash.apicodex.io and send it as an X-Api-Key header (or an ?apikey= query parameter) on every request. Calls without a valid key return 401.
GET /v1/profile?username=jack
X-Api-Key: YOUR_API_KEYRequest and response
Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.
GET /v1/post?url=https://x.com/jack/status/20 HTTP/1.1
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY{
"type": "post",
"url": "https://x.com/jack/status/20",
"data": {
"id": "20",
"user_posted": "jack",
"name": "jack",
"description": "just setting up my twttr",
"date_posted": "2006-03-21T20:50:14.000Z",
"replies": 12000,
"reposts": 130000,
"likes": 195000,
"photos": [],
"url": "https://x.com/jack/status/20"
}
}Code examples
curl --request GET \
--url 'https://api.apicodex.io/twitter/v1/profile?username=jack' \
--header 'X-Api-Key: YOUR_API_KEY'Available Endpoints
GET /v1/post
Scrape a single post by URL: text, author, engagement metrics, media, date.
/v1/post?url=https://x.com/jack/status/20GET /v1/profile
Profile info by url or username: id, name, biography, followers, following, posts_count, is_verified.
/v1/profile?username=jackGET /v1/profile-posts
Recent posts of a profile as an array (limit 1-50, default 10).
/v1/profile-posts?username=jack&limit=10GET /v1/result
Fetch a pending result after a 202 response, using its snapshot_id.
/v1/result?snapshot_id=s_abc123Request Parameters
Required parameters
urlPost URL on /v1/post (x.com/<user>/status/...). On profile endpoints, either url or username is required.
Optional parameters
usernameOn /v1/profile and /v1/profile-posts, pass a username instead of url. A leading @ is stripped automatically.limit/v1/profile-posts only: max recent posts to return (1-50, default 10).fieldsComma-separated list of top-level fields to keep in data, e.g. fields=id,followers,biography. Works on single objects and arrays.snapshot_id/v1/result only: the id returned by a 202 response.
Responsible use
Use public social data carefully
Only request data that is publicly accessible, and make sure your collection, storage, and use comply with applicable privacy laws and the relevant platform terms. Do not use these APIs to bypass access controls or to make decisions that require consent or human review.
Pricing
Advanced X (Twitter) API Pricing
One key, one subscription, all 49 APIs. Start free and upgrade when you grow. No minimums, no lock-in.
This API costs 25 credits per request. Credits are shared across every API on your plan.
Estimate your monthly cost
Drag the slider to match your expected request volume. We will recommend the cheapest plan that covers it.
Recommended plan
Pro
$99.99 /month
Free
- All 49 APIs included
- No credit card required
- Full documentation and examples
Starter
Popular- All 49 APIs included
- Email support
- Usage dashboard and analytics
Pro
- All 49 APIs included
- Priority support
- Up to 5 API keys
Need a different plan?
Tell us about your API, volume, or support requirements.
Coming soon · MCP
Use the Advanced X (Twitter) API from your AI agent
The API Codex MCP server will expose this API, and the other 39, to Claude, Cursor and any MCP client as tools. Same key, same credits, one config entry.
FAQ
Frequently asked questions
The official X API requires a developer account, an app registration, OAuth, and paid tiers that start at $100/month with strict read caps. This API needs none of that: sign up at dash.apicodex.io, send a GET request with a URL or username, and get JSON back. It covers public post and profile data, starts free, and bills simple pay-per-use overage.
Only publicly visible data: public posts, public profile info and public recent posts. It cannot read protected accounts, DMs or anything behind a login, and it never asks for user credentials. You remain responsible for using the data in line with applicable laws and your own compliance requirements.
Live. Every call performs a fresh scrape of x.com at request time, so follower counts, likes, reposts and recent posts reflect the current state of the page rather than a cached snapshot.
Most calls resolve synchronously in 2-45 seconds. If a scrape exceeds the sync window, the API returns HTTP 202 with {"status": "pending", "snapshot_id": "..."}. Poll GET /v1/result?snapshot_id=... until it returns status "ready" with the data, typically within 1-2 minutes.
On /v1/profile and /v1/profile-posts you can pass ?username=jack instead of a URL, with or without a leading @ (it is stripped automatically). /v1/post always takes the post URL (x.com/<user>/status/...), since a post is identified by its URL.
Basic (free) includes 25 requests/month at 1 req/s with a hard cap. Pro is $19.99 for 1,000 requests/month at 5 req/s, Ultra $49.99 for 5,000 at 10 req/s, and Mega $199.99 for 50,000 at 20 req/s. Paid plans allow overage at $0.02, $0.012 and $0.006 per request respectively, so the unit cost drops as you upgrade.