Public X/Twitter Profile Metadata Scraper
Pricing
from $2.99 / 1,000 profiles
Public X/Twitter Profile Metadata Scraper
Extract public X/Twitter profile page title, display name, bio, avatar, canonical URL, JSON-LD, response status, and access diagnostics for bounded usernames.
Pricing
from $2.99 / 1,000 profiles
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
What does Public X/Twitter Profile Metadata Scraper do?
This Actor extracts public page-level profile metadata from X/Twitter. It accepts bounded usernames, tries the official public X URL and Twitter-compatible fallback, and uses one unauthenticated browser render only when public HTML is an application shell. It does not scrape tweets, use cookies, authenticate, solve CAPTCHAs, or bypass access controls.
Why use it?
Use it for public profile inventories, display-name and bio checks, canonical-link audits, and small scheduled metadata snapshots through Apify's API, scheduling, monitoring, and integrations. Duplicate usernames are normalized and removed before requests.
X can return a challenge, login wall, missing profile, or non-success response. Those outcomes become minimal four-field diagnostic rows and are summarized in OUTPUT; they are not represented as successful empty profiles.
How to run
- Open the Actor's Input tab.
- Enter one to 100 usernames, with or without
@. - Leave proxy disabled for the default direct public request, or explicitly enable standard Apify Proxy routing in Cloud.
- Run the Actor and inspect normal profile rows, diagnostics, and
OUTPUT.
Input
| Field | Required | Description |
|---|---|---|
usernames | Yes | One to 100 values containing one to 15 letters, numbers, or underscores. |
proxyConfiguration | No | Direct by default; optional Apify Proxy configuration, limited to five groups. |
fixtureFile | No | Repository-relative JSON fixture for deterministic local QA. |
Example input:
{"usernames": ["@OpenAI", "apify"],"proxyConfiguration": { "useApifyProxy": false }}
Output
Normal rows contain public profile metadata only: stable record identity, normalized username, profile URL, display name, bio, avatar, canonical URL, public page title, bounded JSON-LD when exposed, source/provenance, and a UTC timestamp. HTTP status, access/authentication flags, extraction stage, browser transport, and run-summary fields are not emitted in normal dataset rows.
Example normal output:
{"recordType": "twitter-profile","recordId": "twitter-profile:openai","source": "x.com","provenance": "public_x_profile_page","username": "openai","profileUrl": "https://x.com/openai","displayName": "OpenAI","bio": "Creating useful AI systems.","canonicalUrl": "https://x.com/openai","scrapedAt": "2026-09-08T00:00:00.000Z"}
Example diagnostic:
{"url": "https://x.com/openai","error": "X returned a challenge or block page; no bypass was attempted.","errorCode": "BLOCKED","scrapedAt": "2026-09-08T00:00:00.000Z"}
OUTPUT contains status, requested usernames, stored-item count, successful-profile count, failed-profile count, diagnostic count, data availability, generator provenance, and completion time. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Tips, FAQ, and responsible use
Start with one or two usernames to confirm public access. Use fixtureFile for parser changes without live traffic. BLOCKED, HTTP_ERROR, NOT_FOUND, and NO_PUBLIC_PROFILE_DATA reflect the public response observed by this unauthenticated run. Missing optional metadata is omitted rather than inferred.
This Actor is not affiliated with X Corp. Follow X/Twitter terms, robots guidance, rate limits, privacy rules, and applicable law. Use only information made public by the target and do not infer sensitive attributes or evade technical restrictions.