Twitter Profile Scraper โ X Bios, Counts & Links
Pricing
from $1.00 / 1,000 results
Twitter Profile Scraper โ X Bios, Counts & Links
Extract public Twitter (X) profiles by username. Get bios, audience counts, images, links, verification fields and pinned-post IDs in one profile row without login.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
ScrapingMonkey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Turn public Twitter (X) usernames into profile records with biographies, audience counts, links and account flags. Twitter Profile Scraper returns one row per processed account, including profile images, visible verification details and pinned-post IDs.
Use the data to enrich account lists, compare creators or maintain a source-linked profile directory without supplying Twitter credentials.
| At a glance | Details |
|---|---|
| ๐ฅ Input | Plain Twitter (X) usernames without @ or profile links |
| ๐ค Output | Identity, bio, counts, links, images, verification and account flags |
| ๐ Login required | No Twitter (X) credentials or cookies |
| โก Processing | Up to 5 requests concurrently with automatic retries |
| ๐พ Delivery | One profile row in one table, with the same fields in JSON |
What the Twitter (X) profile scraper extracts ๐
The Actor collects profile details exposed in the public response. Optional account settings and counters remain distinguishable from the core identity fields.
- ID, username, display name, profile URL, bio and location
- Account creation date and timestamp
- Followers, following, post and media-post counts when exposed
- Visible likes-given, highlights, affiliate and subscription counts
- Avatar, larger avatar URL, banner, website and bio links
- Verification, protected-account and professional-account fields
- Pinned-post IDs, visible birthdate components and feature or interaction flags
How to scrape Twitter (X) profiles ๐
- Add a plain username such as
NASA. - Add other usernames to
inputListfor a batch. - Start the Actor and review the status of each profile.
- Export the results for enrichment or reporting.
{"inputList": ["NASA"]}
Exact duplicate usernames are normally processed once. Keep username spelling consistent across a batch; differently capitalized inputs are not explicitly merged.
Twitter (X) profile data fields and complete output ๐ฆ
| Field group | Included data |
|---|---|
| Identity | Username, name, ID, profile URL, bio and location |
| Audience | Followers, following, posts and other available counters |
| Appearance and links | Avatars, banner, website and bio-link URLs |
| Account context | Creation date, verification, professional type and protection flag |
| Optional details | Pinned-post IDs, public birthdate components and feature flags |
Complete illustrative success item with fictional content, not a live result:
{"input": "northstar_lab","status": "success","id": "100100100","username": "northstar_lab","name": "Northstar Lab","profile_url": "https://x.com/northstar_lab","description": "Research, field notes and conversations about science.","location": "Singapore","created_at": "2021-01-15T09:00:00Z","created_timestamp": 1610701200,"followers_count": 4200,"following_count": 180,"posts_count": 640,"media_posts_count": 86,"likes_given_count": 320,"highlights_count": 8,"avatar_url": "https://example.com/northstar_lab_normal.jpg","avatar_url_hd": "https://example.com/northstar_lab_400x400.jpg","banner_url": "https://example.com/lab-banner.jpg","website.url": "https://t.co/LabSite","website.expanded_url": "https://example.com/lab","bio_links.url": ["https://t.co/LabSite"],"bio_links.expanded_url": ["https://example.com/lab"],"bio_links.display_url": ["example.com/lab"],"is_verified": false,"verified_type": "","is_blue_verified": false,"is_identity_verified": false,"verification_description": "","verified_since_at": "","is_protected": false,"possibly_sensitive": false,"professional_type": "Business","affiliates_count": 0,"creator_subscriptions_count": 0,"can_highlight_posts": true,"can_receive_messages": false,"can_be_media_tagged": false,"description_language": "en","profile_image_shape": "Circle","pinned_post_ids": ["2088355206723477000"],"birthdate.day": 0,"birthdate.month": 0,"birthdate.year": 0,"birthdate.visibility": "","birthdate.year_visibility": ""}
The table and JSON use literal names such as website.expanded_url. Matching positions in bio_links.url, bio_links.expanded_url and bio_links.display_url describe the same link. Pinned IDs remain a list within the profile row.
Successful rows can contain empty strings, zero counts, false flags, empty lists or null optional branches when a value is unavailable. A failed row retains input, sets status to failed and leaves the entity data fields null.
Input requirements and coverage โ๏ธ
| Parameter | Type | Required | Default and rules |
|---|---|---|---|
inputList | array of strings | Yes | No default; at least one item. No fixed input-count maximum. |
Enter plain usernames of 1โ15 letters, numbers or underscores, without @ or a profile URL. Navigation words such as home and search are not usernames accepted by the Actor.
This Actor retrieves profile details, not posts, followers or a list of likes. A protected account can still expose profile metadata; that does not provide access to its protected posts. Visible birthday and interaction fields depend on what X includes in the response.
Twitter (X) profile data use cases ๐ฏ
Account-list enrichment
Attach numeric IDs, bios, locations and websites to known usernames.
Creator and brand comparison
Compare public audience counts, account positioning and verification fields across a selected account list.
Profile change tracking
Save scheduled snapshots to review changes in bios, links, names or follower counts.
Social profile directories
Use profile URLs and IDs to keep account references consistent when display names change.
Pricing and billable profiles ๐ฐ
Check the Actor's Pricing tab for the current charging model and rate. The Store configuration is authoritative.
Under dataset-item pricing, each saved success or failed row can count as a billable item. Automatic retries do not independently add result rows.
One processed profile creates one result row. Bio links and pinned-post IDs do not create additional items.
Twitter (X) profile API and integrations ๐
Replace $ACTOR_ID with the ID shown in the Actor API tab and $APIFY_TOKEN with your Apify token.
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"inputList":["NASA"]}'
Start runs through REST, Apify client libraries or schedules. Use webhooks to handle completion, then export the dataset as JSON, CSV or Excel, or send it to Google Sheets, Make, Zapier and your reporting tools.
Reliability and limits โ ๏ธ
Temporary request failures and selected access errors are retried automatically. A response without a usable account ID and username produces a failed result.
Public counters can be omitted or default to zero, and false flags can mean a setting was not exposed. Verification fields describe the response at collection time; they are not an independent identity check. A larger avatar URL is derived from the available avatar URL and is not a guarantee that a larger image remains accessible.
Frequently asked questions โ
Can I submit a profile URL or @handle?
No. Enter the plain username, such as NASA.
Does it scrape an account's followers or likes?
It returns available counts, not lists of followers, following accounts or liked posts.
Can it read protected posts?
No. Public profile metadata may be returned for a protected account, but this Actor does not collect its posts.
Are birthdates always available?
No. Birthdate components and visibility labels appear only when exposed in the returned profile data.
Does it include the pinned post text?
It returns pinned-post IDs. Use Post Details Scraper with a full post URL to collect the post itself.
Support, responsible use, and related actors ๐
For a reproducible issue, contact support with the run ID, approximate time and a safe public input. Keep credentials and private data out of support messages.
Use public data in line with applicable privacy, copyright and platform requirements.