X (Twitter) Profile & Username Change Monitor
Pricing
from $1.00 / 1,000 account checkeds
X (Twitter) Profile & Username Change Monitor
Monitor X profiles for username, bio, avatar, verification, follower, and activity changes. Send change-only Webhook, Slack, or Discord alerts and export clear before/after history. No login required.
Pricing
from $1.00 / 1,000 account checkeds
Rating
0.0
(0)
Developer
Arjun AI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Monitor X profiles over time and see exactly what changed. Track usernames, bios, avatars, verification, follower counts, activity, and account-origin signals with clear before/after results and optional change-only alerts—no X login, cookies, or API key required.
Unlike a one-time profile scraper, this Actor keeps a baseline between recurring Apify Task runs. It follows accounts by stable X user ID, so monitoring can continue even after a username change.
Why use this Actor?
- Detect username, display name, bio, avatar, banner, website, and location changes
- Track follower, following, post, media, like, and list-count movements
- Monitor verification, protected status, account country, and account source
- Receive readable change summaries plus structured previous/current values
- Send one change-only digest to Discord, Slack, or any HTTP webhook
- Keep meaningful historical profile versions without storing a duplicate on every run
- Export results to JSON, CSV, Excel, webhooks, and other Apify integrations
Quick start
For continuous monitoring, create an Apify Task before the first run:
- Open this Actor and enter one or more X accounts.
- Optionally paste a Discord, Slack, or generic Webhook URL.
- Save the input as an Apify Task.
- Run the Task once to create the baseline.
- Add an hourly, daily, or weekly Apify Schedule to the same Task.
- Review each run's dataset or wait for a change notification.
The first successful check returns baseline_created. Later checks return changed or no_change.
Input
Accounts may be entered as plain usernames, @handles, or complete profile URLs:
{"screenNames": ["OpenAI","@github","https://x.com/elonmusk"],"maxHistoryVersions": 50,"includeHistory": false,"notificationWebhookUrl": "https://discord.com/api/webhooks/...","notifyOn": "profile_changes"}
| Field | Description | Default |
|---|---|---|
screenNames | X accounts to monitor. Accepts username, @handle, or profile URL. | Required |
maxHistoryVersions | Meaningful profile versions retained per account. | 50 |
includeHistory | Adds all retained profile versions to each result. | false |
notificationWebhookUrl | Optional Discord, Slack, or generic HTTP webhook. Stored as an encrypted secret. | Empty |
notifyOn | profile_changes or all_changes, including metrics. | profile_changes |
monitorId | Advanced history-group identifier. Keep default when using a Task. | default |
The Task ID and monitorId identify a monitoring timeline. Keep both unchanged across scheduled runs. Changing the Monitor ID starts a separate history without deleting the old one.
Change-only notifications
Paste one URL into Notification webhook URL. The Actor identifies the destination automatically:
- Discord Incoming Webhook URLs receive a Discord message.
- Slack Incoming Webhook URLs receive a Slack message.
- Every other URL receives a structured JSON
POSTrequest.
The first baseline does not send a notification. Runs with no selected changes also stay quiet. When several monitored accounts change in one run, the Actor sends one combined notification rather than one message per account.
Choose Profile changes only to monitor identity and profile information without follower-count noise. Choose All changes, including metrics to also receive audience and activity movements.
A generic webhook receives this structure:
{"event": "x_profile_changes_detected","monitor_id": "default","notify_on": "profile_changes","changed_accounts_count": 1,"actor_run_id": "RUN_ID","actor_run_url": "https://console.apify.com/actors/runs/RUN_ID","changes": [{"screen_name": "new_handle","change_type": "profile","change_summary": "Username: \"old_handle\" -> \"new_handle\"","profile_url": "https://x.com/new_handle"}]}
The Webhook URL is encrypted by Apify when saved. A notification is attempted once and retried up to two times after temporary delivery failures. Delivery is recorded in the run log; a final delivery error does not remove the profile results already collected.
Example change result
{"status": "changed","change_type": "profile_and_metrics","screen_name": "new_handle","profile_url": "https://x.com/new_handle","check_number": 8,"profile_version": 3,"previous_profile_version": 2,"new_profile_version": true,"change_count": 2,"changed_fields": ["user_screen_name","followers_count"],"change_summary": "Username: \"old_handle\" -> \"new_handle\"; Followers: 12,480 -> 12,615 (+135)","changes": {"user_screen_name": {"previous": "old_handle","current": "new_handle"},"followers_count": {"previous": 12480,"current": 12615,"difference": 135}}}
The default Overview dataset view shows the fields most users need. Choose Full details to inspect structured changes, raw profile data, storage identifiers, and optional history.
Understanding checks and versions
| Field | Meaning |
|---|---|
check_number | Increases after every successful check. |
profile_version | Increases only when meaningful profile information changes. |
new_profile_version | Tells you whether this run created a new historical profile version. |
retained_profile_versions | Number of profile versions currently saved. |
change_type | baseline, profile, metrics, profile_and_metrics, or none. |
Follower and activity changes are reported on every run but do not create a new full profile version. For example, check_number can be 20 while profile_version is still 3.
Tracked fields
Profile changes
- Username and display name
- Bio, location, website, avatar, and banner
- Verified, blue-verified, and protected status
- Account country and country-accuracy signal
- Account creation source and X-native username-change information
- Business account information
Metric changes
- Followers, normal followers, and following
- Posts and media posts
- Likes and list memberships
- Creator subscriptions
Result statuses
| Status | Meaning | Charged |
|---|---|---|
baseline_created | The first successful snapshot was saved. | Yes |
changed | One or more tracked fields changed. | Yes |
no_change | No tracked values changed. | Yes |
not_found | The requested account was not found before a baseline existed. | No |
unavailable | A monitored account is currently unavailable; its previous state is retained. | No |
request_failed | The current check failed after retries; its previous state is retained. | No |
One account-check event is charged for each successfully checked account. Failed or unavailable checks do not replace the latest successful snapshot. When the run reaches the user's maximum cost limit, the Actor keeps the last completed account and stops cleanly before performing another billable check.
History retention
The latest successful snapshot is retained for comparison. Meaningful profile versions are stored in the Actor's named key-value store, with 50 versions per account by default and up to 500 when configured.
Leave includeHistory disabled for compact scheduled datasets. Enable it only when an API or export needs every retained version in the same result.
Common use cases
- Monitor competitors, founders, creators, brands, and public figures
- Detect rebrands, username transfers, impersonation signals, or account takeovers
- Track creator and influencer audience growth
- Maintain current CRM, lead-enrichment, or OSINT profile records
- Send change-only alerts directly to Discord, Slack, Make, Zapier, n8n, or an internal service
Ready-to-run examples
- Monitor Competitor X Profile Changes
- Track X Username and Bio Changes
- Track X Follower Growth and Verification
Related X (Twitter) Actors
- X (Twitter) People Search Scraper — find profiles by keyword
- X (Twitter) Similar Accounts Finder — discover related accounts
- X Followers & Following Scraper — export audience networks
- X Twitter Account Origin Intelligence — inspect origin and username-history signals
Important notes
- Monitoring starts from the first successful baseline; historical changes from before that run cannot be reconstructed.
- Results contain public X profile metadata available at check time.
- X can change its internal interfaces, which may temporarily affect availability.
- This Actor is not affiliated with or endorsed by X Corp.