GETTR Public Profiles Scraper
Pricing
Pay per event
GETTR Public Profiles Scraper
👤 Extract public GETTR profiles from usernames or URLs—bios, links, follower metrics, verification, and account timestamps without login.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Extract structured public GETTR account data from usernames or profile URLs—without login, cookies, or a browser.
Use GETTR Public Profiles Scraper to refresh an account watchlist, compare public audience metrics, enrich research records, or feed a social-listening workflow. Each requested public account becomes one clean dataset row with identity, biography, links, follower counts, verification status, and timestamps.
- 👤 Accept usernames,
@usernames, and public profile URLs - 📊 Return follower and following counts as numbers
- ✅ Capture verification status as a boolean
- 🔗 Preserve canonical, avatar, external, and source URLs
- 🕒 Include account and scrape timestamps for monitoring
- ⚡ Use lightweight anonymous HTTP extraction
What does GETTR Public Profiles Scraper do?
The Actor visits public GETTR profile pages and converts their structured profile metadata into export-ready records.
It supports two convenient input routes:
- Paste usernames such as
mikepompeoor@mikepompeo. - Paste URLs such as
https://gettr.com/user/mikepompeo.
You can mix both routes in one run. Duplicate accounts are fetched once.
Version 1 focuses only on public profiles. It does not promise posts, comments, timelines, search results, hashtags, or follower-list expansion. This narrow contract makes scheduled profile refreshes predictable.
Who is it for?
Social-listening teams
Refresh tracked GETTR accounts on a schedule and compare follower metrics over time in your own database or dashboard.
OSINT and political-media researchers
Normalize public identity, biography, links, verification, and audience-size signals across a defined account list.
Creator and audience researchers
Build a repeatable profile sheet for creators, commentators, organizations, and public figures active on GETTR.
Data engineers
Feed normalized public profile rows into BigQuery, Snowflake, Google Sheets, Airtable, or an internal enrichment pipeline.
Why use this GETTR profile extractor?
Manual profile research does not scale well. Names, links, follower counts, and timestamps end up copied into inconsistent spreadsheet columns.
This Actor provides:
- Stable field names for repeated exports
- Typed metrics instead of formatted follower strings
- Bulk input for account lists
- Source provenance on every row
- Clear failures instead of empty placeholder profiles
- Apify integrations for schedules, API calls, webhooks, and storage
No GETTR login is required for the public profile surface used by this Actor.
What GETTR data can you extract?
| Field | Type | Description |
|---|---|---|
displayName | string | Public display name |
username | string | Normalized lowercase GETTR username |
bio | string | Public profile biography, when present |
avatarUrl | URL | Public avatar image URL, when present |
externalUrl | URL | Public external website, when present |
profileUrl | URL | Canonical GETTR profile URL |
followersCount | integer | Public follower count |
followingCount | integer | Public following count |
verified | boolean | Public verification status |
joinedAt | datetime | Account timestamp exposed by GETTR, when present |
sourceUrl | URL | URL fetched by this run |
scrapedAt | datetime | UTC extraction timestamp |
Optional fields are omitted when GETTR does not publish them. The Actor does not fill missing values with invented data.
How much does it cost to scrape GETTR profiles?
The Actor uses pay-per-event pricing:
- A small one-time Start charge covers run setup.
- A Profile event is charged only for each profile saved to the dataset.
- Profile prices decrease by Apify plan tier.
The exact live prices are shown in the Apify Console before you start a run. The FREE-tier test input contains one username, so the first smoke test stays small.
Actual cost depends mostly on the number of valid public accounts. Duplicate inputs are deduplicated before fetching and charging.
How to scrape GETTR profiles
- Open the Actor input page.
- Add one or more values under GETTR usernames.
- Optionally add full URLs under GETTR profile URLs.
- Keep concurrency at
5for a normal list. - Click Start.
- Open the Dataset tab when the run finishes.
- Export JSON, CSV, Excel, XML, or another supported format.
For recurring monitoring, save the input as an Apify task and attach a schedule.
Input parameters
usernames
An array of GETTR usernames. Values may include a leading @.
{"usernames": ["mikepompeo", "@jasonmillerindc"]}
startUrls
An array of request-list sources containing exact public GETTR profile URLs.
{"startUrls": [{ "url": "https://gettr.com/user/mikepompeo" }]}
Only gettr.com/user/<username> profile URLs are accepted. Other hosts and non-profile routes fail closed.
maxConcurrency
The number of profiles fetched in parallel. Allowed range: 1 to 20. Default: 5.
Lower the value for conservative scheduled refreshes. Raise it carefully for a larger account list.
Example input
{"usernames": ["mikepompeo","jasonmillerindc"],"startUrls": [{ "url": "https://gettr.com/user/gettr" }],"maxConcurrency": 5}
The two input arrays are combined and deduplicated by normalized username.
Example output
{"displayName": "Mike Pompeo","username": "mikepompeo","bio": "Former U.S. SecState, CIA Director...","avatarUrl": "https://media.gettr.com/group22/origin/...png","externalUrl": "https://cavpac.com/","profileUrl": "https://gettr.com/user/mikepompeo","followersCount": 1227462,"followingCount": 18,"verified": false,"joinedAt": "2021-07-02T20:15:04.340Z","sourceUrl": "https://gettr.com/user/mikepompeo","scrapedAt": "2026-07-21T03:10:00.000Z"}
Live profile values change. Treat the example as a schema illustration, not a frozen account snapshot.
Output quality and failure behavior
Every saved row must contain a display name, username, follower count, following count, verification status, profile URL, source URL, and scrape timestamp.
For a mixed list, an unavailable target is logged and the remaining valid profiles continue. If no requested profile can be extracted, the run fails instead of reporting success with an empty dataset.
This behavior makes automation failures visible to schedules and webhook consumers.
Monitoring GETTR account lists
A useful recurring workflow is:
- Store your tracked usernames in an Apify task.
- Run the task daily or weekly.
- Send the dataset URL to a webhook.
- Append rows to your warehouse with
scrapedAtas the snapshot timestamp. - Calculate follower deltas by
usernamebetween snapshots.
The Actor reports snapshots. It does not calculate historical deltas internally.
Tips for reliable runs
- Start with one known public username.
- Use usernames instead of URLs when your source list is already normalized.
- Keep
maxConcurrencyat5unless you have a reason to change it. - Deduplicate upstream lists when you want clean audit logs; the Actor also deduplicates internally.
- Inspect warnings for removed, private, or unavailable accounts.
- Store the
sourceUrlandscrapedAtfields with downstream records.
Integrations and automation patterns
Google Sheets or Airtable
Schedule a profile refresh, then use Make or Zapier to upsert rows by username.
BigQuery or Snowflake
Load each dataset as a dated snapshot. Partition by scrapedAt and compare follower metrics with window functions.
Slack alerts
Use a webhook workflow to notify a research channel when a tracked account cannot be extracted or changes its public website.
Apify webhooks
Attach a run-succeeded webhook to trigger your downstream ETL only after a complete dataset is ready.
Use with the Apify API
The Actor can be started from any language that can call HTTP APIs. Replace APIFY_TOKEN with a secret environment variable; never commit it.
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/gettr-public-profiles-scraper').call({usernames: ['mikepompeo'],maxConcurrency: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/gettr-public-profiles-scraper').call(run_input={'usernames': ['mikepompeo'],'maxConcurrency': 5,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~gettr-public-profiles-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"usernames":["mikepompeo"],"maxConcurrency":5}'
Use the returned run's defaultDatasetId to retrieve dataset items.
Use GETTR Public Profiles Scraper with MCP
Connect the Actor to AI clients through Apify MCP.
Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/gettr-public-profiles-scraper"
Claude Desktop, Cursor, or VS Code
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/gettr-public-profiles-scraper"}}}
Example prompts:
- “Extract the public GETTR profile for mikepompeo and summarize the returned fields.”
- “Refresh these GETTR usernames and return a table sorted by followersCount.”
- “Compare this week's GETTR profile snapshot with my previous dataset.”
Data freshness
The Actor reads the public profile state available during the run. scrapedAt records when extraction happened.
GETTR can update follower counts, biographies, links, avatars, verification, and public availability at any time. Run the Actor again when you need a fresh snapshot.
The Actor does not maintain a hidden historical database.
Limitations
- Public profiles only
- No posts, comments, timelines, search, or hashtag extraction in version 1
- No follower or following list expansion
- No private-account access
- No deleted-account recovery
- No guarantee that optional bio, avatar, external URL, or account timestamp exists
- Maximum 1,000 raw targets per run
GETTR may change its public page structure. The Actor fails clearly if mandatory structured profile fields disappear.
Is it legal to scrape public GETTR profiles?
This Actor extracts information available on public GETTR profile pages without login.
You are responsible for your use case. Follow applicable law, GETTR's terms, privacy obligations, contractual restrictions, and data-retention rules. Do not use the output for harassment, discrimination, unauthorized surveillance, or attempts to access private information.
Public availability does not remove every compliance obligation.
Troubleshooting
“Provide at least one username or GETTR profile URL”
Add a value to usernames, startUrls, or both. The prefilled example uses one username.
“Not a GETTR public profile URL”
Use an exact URL shaped like https://gettr.com/user/username. Post, search, hashtag, and home-page URLs are outside this Actor's scope.
The run succeeded but one account is missing
Check run warnings. The account may be unavailable, private, removed, malformed, or no longer exposing mandatory public profile fields.
The whole run failed
A run fails when every target fails. Test one profile in a browser, confirm the username, then retry with concurrency 1.
Frequently asked questions
Does this Actor need a GETTR account?
No. It uses the anonymous public profile surface.
Can it scrape GETTR posts?
No. Version 1 intentionally supports profiles only.
Can I submit both usernames and URLs?
Yes. They are combined and deduplicated.
Are follower counts returned as strings?
No. followersCount and followingCount are integers suitable for sorting and analysis.
Does a duplicate username cost twice?
No. Duplicate targets normalize to one fetch and one saved profile event.
Can I schedule it?
Yes. Save the input as an Apify task and add a daily, weekly, or custom schedule.
Related social media scrapers
Build a broader public social-account workflow with Automation Labs Actors:
Choose this Actor specifically for normalized public GETTR profile snapshots.
Support
If a valid public GETTR profile repeatedly fails, open an issue from the Actor page and include:
- The input shape with secrets removed
- The run URL or run ID
- The approximate failure time
- Whether the profile was publicly visible in a browser
Do not include private credentials or unrelated personal data.