Public X/Twitter Profile Metadata Scraper avatar

Public X/Twitter Profile Metadata Scraper

Pricing

from $2.99 / 1,000 profiles

Go to Apify Store
Public X/Twitter Profile Metadata Scraper

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

w3crawler

Maintained by Community

Actor 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

  1. Open the Actor's Input tab.
  2. Enter one to 100 usernames, with or without @.
  3. Leave proxy disabled for the default direct public request, or explicitly enable standard Apify Proxy routing in Cloud.
  4. Run the Actor and inspect normal profile rows, diagnostics, and OUTPUT.

Input

FieldRequiredDescription
usernamesYesOne to 100 values containing one to 15 letters, numbers, or underscores.
proxyConfigurationNoDirect by default; optional Apify Proxy configuration, limited to five groups.
fixtureFileNoRepository-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.