𝕏(twitter) User Profile
Pricing
from $2.70 / 1,000 results
𝕏(twitter) User Profile
Bulk-export X (Twitter) profiles — verification type, follower count, following count, pinned tweet, Pro subscription status, and 35+ fields per handle. $3.92 per 1,000.
Pricing
from $2.70 / 1,000 results
Rating
5.0
(1)
Developer
TrueFetch
Maintained by CommunityActor stats
3
Bookmarked
95
Total users
14
Monthly active users
4 days ago
Last modified
Categories
Share
X User Profile turns a list of public X usernames or profile URLs into structured observations. Successful lookups use a fixed 47-key envelope, while a username that X reports as absent becomes a four-key not found row for transparent reconciliation.
- Accept 1 to 1,000 usernames,
@handles, x.com URLs, or twitter.com URLs. - Export public profile text, counts, source labels, links, images, and available pinned-post context.
- Preserve explicit not-found observations instead of silently discarding them.
- Read every value as a time-stamped source snapshot, never as TrueFetch identity or authenticity proof.
Open X User Profile, call it with the Apify API, or connect through MCP. Every written row is a Result event, including a not-found row, and downstream use remains your responsibility.
What does X User Profile do?
The Actor normalizes public account identifiers and requests current X profile data without asking you for an X login or developer key. Inputs are processed in small batches. When X returns a profile, the Actor writes 47 top-level fields. When X explicitly returns no matching user, it writes status, processor, processed_at, and the normalized user_name.
The success envelope includes profile identifiers, name and biography text, location, public links, imagery, account-creation time, source-provided verification and professional labels, privacy flags, activity counters, available subscription and affiliate counts, country-withholding codes, and selected timeline context. Timeline context is limited to recent posting-source labels and one available pinned-post observation; this is not a post-history export.
Some output names mirror the current runtime. In particular, the pinned-post object is named pined. Keeping that spelling protects existing integrations. The object is empty when the timeline response has no TimelinePinEntry, and its media entity can vary by post type.
The Actor does not determine whether a person is genuine, notable, safe, influential, employed, or affiliated with an organization. X states that its profile indicators have different meanings: some are platform-applied, some are user-triggered, and a blue check reflects an eligible Premium subscription rather than the earlier notable-and-authentic review.
How do I run X User Profile?
Create one usernames array and begin with a short set you can check manually. Plain names, leading-@ handles, and recognized X/Twitter profile URLs are accepted.
{"usernames": ["OpenAI","@GitHub","https://x.com/apify"]}
Start the run, wait for a terminal status, and open the default Dataset. Inspect the number of rows and the status mix. A successful run process can contain success rows, not-found rows, or no rows for a batch that could not complete after retries.
Scale only after validating a representative sample. If you submit repeated usernames, deduplicate before calling when your workflow requires a unique observation. A duplicate can be collapsed within one internal batch yet appear again in a later batch, so the public input limit should not be interpreted as a uniqueness guarantee.
What data does X User Profile return?
The 47 success fields fall into several practical groups:
| Area | Example keys | Boundary |
|---|---|---|
| Observation | status, processor, processed_at | Records when and where the row was created. |
| Public identity text | user_id, user_name, display_name, description, location | Source-visible text, not verified identity. |
| Source indicators | verified, verified_type, blue_verified, identity_verified, parody_label | Mirrors current X fields and labels. |
| Dynamic metrics | followers_count, following_count, statuses_count, favourites_count, media_count | Point-in-time counters that can change. |
| Optional profile context | account_type, account_category, birthdate, tipjar_accounts | Can be blank or unavailable. |
| URLs and images | avatar_url, banner_url, profile_urls, description_urls | Source-exposed destinations; validate before reuse. |
| Recent timeline context | user_devices, pinned_tweet_ids, pined | Not a full device or posting history. |
The pined object defines 18 possible child keys for identifiers, text, timestamp, language, entities, mentions, URLs, posting source, conversation/quote context, and engagement counts. extended_entities is intentionally flexible because images, video, and other media return different nested data.
{"status": "success","processor": "https://apify.com/truefetch/x-user-profile","processed_at": "2026-07-23T18:00:00+00:00","user_id": "783214","user_name": "OpenAI","display_name": "OpenAI","description": "Source-visible profile biography","verified": false,"blue_verified": true,"identity_verified": false,"protected": false,"followers_count": 0,"profile_urls": [],"description_urls": [],"user_devices": ["X Web App"],"blocked_countries": [],"pined": {}}
This is an abbreviated shape with illustrative counters. Do not validate a not-found row against the full success envelope; that branch intentionally omits 43 profile keys.
What inputs does X User Profile accept?
usernames is the only public input. It is required, must be an array of strings, and accepts between 1 and 1,000 submitted entries. Recognized URL forms include x.com and twitter.com profile paths. The normalizer removes the domain, query string, fragment, extra path, and leading @, then lowercases the request key.
Invalid non-string elements stop validation. Entries that become blank are ignored. If all entries are blank after normalization, the run exits without lookup. A URL to an individual post is reduced to its profile username; the Actor does not preserve the post ID or perform direct-post lookup.
There is no input for posts, replies, followers, contacts, private content, time ranges, locations, or historical snapshots. The maximum list length is an input ceiling, not a promised count of success rows.
What platforms or markets does X User Profile support?
This Actor targets public profile and recent timeline responses from X, including identifiers written as Twitter profile URLs for compatibility. It is not a multi-platform identity resolver, and it does not search Instagram, LinkedIn, TikTok, or other networks for a matching person.
There is no country selector. Public profile availability depends on the account, X visibility rules, source response, and route conditions at run time. blocked_countries is a source field, not a guarantee that content is accessible elsewhere. Protected posts remain limited: X says protected posts are visible only to followers, so public timeline and pin context can be absent even when some profile fields resolve.
Why use X User Profile?
The primary benefit is a stable observation contract around a volatile source. Successful rows share 47 top-level names, timestamps are included, arrays keep predictable item types, and the nested pinned-post schema documents 18 known keys while leaving variable media entities flexible.
The explicit not-found row supports input-to-output reconciliation and prevents a missing username from being mistaken for an orchestration error. Its billing consequence is also clear: it is a written Result row. Operational pipelines can separate source absence from a batch that produced nothing.
The Actor also removes the need to hand-maintain several input formats. A single list can mix plain names, handles, and profile URLs. Still, normalization is not entity matching; it does not decide whether two handles across networks belong to the same person.
Who is X User Profile for?
Data teams can enrich an existing public-handle list with current X observations. Analysts can retain repeated snapshots to measure counter changes outside the Actor. Researchers can identify accounts for manual review using public biography, location, professional category, and source labels.
Content and community teams can triage profile URLs, available pinned posts, or protected-status observations before visiting the live source. Automation builders can route success and not-found rows into different queues. AI agents can ground an answer in a time-stamped Dataset while preserving uncertainty.
It is not suitable as a KYC check, background check, fraud verdict, credit input, hiring signal, eligibility decision, or proof of endorsement. Do not infer sensitive traits or a real-world identity from handles, biographies, checkmarks, locations, or affiliate labels.
How do I use X User Profile via API or MCP?
Use truefetch/x-user-profile in the REST API or an Apify client. Keep credentials out of source control, save the run ID, and fetch items through defaultDatasetId after completion.
{"method": "POST","url": "https://api.apify.com/v2/acts/truefetch~x-user-profile/runs?waitForFinish=120","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN","Content-Type": "application/json"},"body": {"usernames": ["OpenAI", "@GitHub", "https://x.com/apify"]}}
MCP clients should fetch current Actor details before execution, then send the same input. Some MCP account plans can inspect a public Actor and read Dataset results but cannot start that public Actor. If a direct MCP call is rejected, run the exact build with an authenticated Apify API/client and use MCP for independent run and Dataset readback.
For resilient automation, branch on both run status and row status. Keep processed_at, compare Dataset count with charged Result count, and treat a zero-row batch differently from a not-found row.
How much does X User Profile cost?
The local pay-per-event schedule defines Actor Usage at $0.00001 per metered unit, Actor Start at $0.01 with a minimum of one start event, and Result pricing per written row.
| Tier | Result price |
|---|---|
| Free | $0.00300 |
| Bronze | $0.00290 |
| Silver | $0.00280 |
| Gold | $0.00270 |
| Platinum | $0.00270 |
| Diamond | $0.00270 |
At the Free result rate, 100 written rows cost $0.30000 in Result events, and 1,000 rows cost $3.00000. Add Actor Start and metered usage. Ninety successful profiles plus ten not-found rows equal 100 Result events. A batch that produces no Dataset row has no Result charge but can still incur start and usage costs.
Always rely on the active Apify run-time price. Platform publication can briefly expose an older top-level price after a new build. A charge cap is useful protection, but the input count and charged-event report remain the main reconciliation tools.
How does X User Profile compare with alternatives?
Manual browsing is useful for one account but difficult to reproduce across hundreds of identifiers. An official API may offer different permissions, guarantees, and account relationships, but it requires its own access and terms. Broad social-data products may combine platforms, while this Actor keeps a narrow X profile contract and explicit provenance.
X User Profile favors transparent Dataset output, batch normalization, a sparse not-found branch, and pay-per-written-row events. It does not offer search discovery, post archives, follower lists, contact enrichment, sentiment, authenticity scoring, or cross-platform identity resolution. Choose an alternative when those are the real requirements.
What are the limits and troubleshooting steps?
Source behavior is the main limit. X can change operation identifiers or response shapes, rate-limit a route, return incomplete payloads, hide optional fields, or withhold timeline context. Counts and URLs can change between runs.
If rows are missing, confirm the normalized handles, inspect logs for a batch retry, and try one known public account. If a row is sparse, read status: a four-key row can be a valid not-found result. If pined is empty, visit the current profile and remember that protected or changing timeline responses may not expose a pin.
If costs differ from a simple multiplication, include Actor Start, usage events, plan tier, all not-found rows, and any repeated handles. If MCP refuses a direct public call, use the authenticated API and keep the MCP readback step.
FAQ
Does it require X credentials? No X login or developer key is a public input. An Apify account and token are needed for authenticated API execution.
Are verification fields independently checked? No. They reproduce source fields. TrueFetch does not certify identity, authenticity, organization status, or notability.
Why is a not-found row charged? The runtime writes it to the Dataset with a Result event so the requested username remains auditable.
Does it return all posts or devices? No. It reads recent timeline context for first-seen posting-source labels and one available pin; neither is a complete history.
Can a success row contain blanks? Yes. Public visibility and source availability vary, so strings can be empty, arrays can be empty, and optional objects can lack data.
Why can repeated runs differ? Profile text, labels, privacy settings, counters, links, pinned posts, and source availability are dynamic.
Can I submit an individual post URL? The normalizer extracts the username and discards the rest of the path. Use a post-specific Actor when the post itself is the target.
Related TrueFetch Actors
- X Community Profile — retrieve public X Community descriptions, membership context, topics, and rules.
- LinkedIn Person Profile — add a separate professional-profile observation with its own provenance.
- TikTok Profile Video — collect source-available creator videos or reposts without treating handles as verified identity links.
These are separate source observations. Join them only with a documented matching method and human review; shared names or handles do not prove that records belong to the same real-world entity.
Support and last updated
When requesting help, include the run ID, UTC time, redacted input shape, expected and actual row counts, status distribution, and whether the issue concerns normalization, lookup, timeline context, Dataset writing, or charged events. Never share an Apify token in chat or logs.
Contact TrueFetch support for Actor-specific questions. Use the Apify Actor documentation for platform execution and storage. For source-label context, consult X profile labels, profile visibility, and public/protected post visibility. Last updated: July 23, 2026.