Twitter Profile Scraper โ€“ X Bios, Counts & Links avatar

Twitter Profile Scraper โ€“ X Bios, Counts & Links

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Twitter Profile Scraper โ€“ X Bios, Counts & Links

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

ScrapingMonkey

Maintained by Community

Actor 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 glanceDetails
๐Ÿ“ฅ InputPlain Twitter (X) usernames without @ or profile links
๐Ÿ“ค OutputIdentity, bio, counts, links, images, verification and account flags
๐Ÿ” Login requiredNo Twitter (X) credentials or cookies
โšก ProcessingUp to 5 requests concurrently with automatic retries
๐Ÿ’พ DeliveryOne 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 ๐Ÿš€

  1. Add a plain username such as NASA.
  2. Add other usernames to inputList for a batch.
  3. Start the Actor and review the status of each profile.
  4. 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 groupIncluded data
IdentityUsername, name, ID, profile URL, bio and location
AudienceFollowers, following, posts and other available counters
Appearance and linksAvatars, banner, website and bio-link URLs
Account contextCreation date, verification, professional type and protection flag
Optional detailsPinned-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 โš™๏ธ

ParameterTypeRequiredDefault and rules
inputListarray of stringsYesNo 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.

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.