Twitter Profile Scraper
An X profile identifies a public account through its username, display name, biography, profile URL, images, status indicators, and visible counters. Read together at a known collection time, these signals help qualify accounts, enrich directories, and compare profile changes.
Features
- Username-to-profile resolutionResolve one or more public X usernames in the same collection, whether each value includes a leading @ or not.
- Identity, biography, and imageryBuild an account record from its ID, username, display name, profile URL, biography, location, avatar, cover, and creation time.
- Account state and audience scalePair verification, privacy, messaging, pinned-post, and automation signals with follower, following, post, media, and like counts.
- Comparable profile snapshotsKeep the submitted username, account creation date, and collected_at together so repeated lookups remain traceable over time.
Parameters
| Parameters | Required | Description |
|---|---|---|
usernames | Required | Required list of public X usernames. Each value may include or omit a leading @. |
How to Use
Prepare the account list first, then resolve it through the shared asynchronous task and cursor result flow.
- Normalize the public usernames you want to inspect; a leading @ is optional.
- POST the usernames array to /v1/x/profiles and retain the returned task_id.
- Poll /v1/tasks/{task_id} until the task reaches succeeded or failed.
- After success, store data.results.items and use next_cursor whenever has_more remains true.
curl -X POST "https://api.socq.ai/v1/x/profiles" \
-H "Authorization: Bearer $SOCQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"usernames":["nasa","@OpenAI"]}'
# Poll GET /v1/tasks/{task_id}
# Read data.results.items and follow next_cursor while has_more is trueBest Use Cases
- Vet creator and partner accounts: Compare identity, biography, verification state, and audience counts across a known list before adding accounts to a shortlist.
- Complete account directories: Add profile URLs, display names, biographies, images, locations, and public counters to existing CRM or partner records.
- Compare profile changes: Repeat lookups for the same account IDs and use collected_at to compare biographies, status signals, and audience counts between snapshots.
Pro Tips
- Trim a leading @ and deduplicate usernames case-insensitively before submitting a large account list.
- Store id as the stable account key, while retaining username and extra.input_username for display and source matching.
- Anchor every comparison of follower, post, or media counts to collected_at instead of treating counters as permanent values.
- Allow optional imagery and account signals to remain nullable so a partial public profile does not break downstream records.
Related APIs
Use these APIs when you need a different type of public X data.
- Twitter Tweet Scraper API — Retrieve public post text, authors, engagement, media, hashtags, mentions, and conversation relationships from x.com or twitter.com status URLs.
- Twitter User Tweets Scraper API — Collect recent public posts, authors, media, hashtags, mentions, and engagement by username with replies excluded.
- Twitter Search API — Find public posts by search expression with latest or top ordering and a configurable result limit.
Combine X data with public data from other supported social platforms.