Mastodon Profile Scraper
Pricing
Pay per usage
Mastodon Profile Scraper
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Donny Nguyen
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Mastodon user profiles and posts across the fediverse. Extract toots, follower counts, boosts, favourites, and instance information from any public Mastodon-compatible instance.
What does Mastodon Profile Scraper do?
This actor extracts profile data and recent toots from Mastodon user accounts. It uses the public Mastodon REST API to look up accounts and fetch their statuses, making it fast and reliable without needing a browser. The actor works with any Mastodon-compatible instance (Mastodon, Pleroma, Akkoma, Misskey, etc.).
Use it to monitor fediverse accounts, analyze posting patterns, track engagement metrics, or build datasets of decentralized social media content.
Features
- Extracts profile data including bio, follower/following counts, and avatar
- Fetches recent toots with engagement metrics (boosts, favourites, replies)
- Works across any Mastodon-compatible instance in the fediverse
- Uses the public Mastodon API for fast, structured data extraction
- Identifies boosted/reblogged content vs. original posts
- Supports datacenter and residential proxy configurations
- Handles API errors and missing accounts gracefully
Input
| Field | Type | Description | Default |
|---|---|---|---|
urls | Array | List of Mastodon profile URLs to scrape (e.g., https://mastodon.social/@user). | Required |
maxResults | Integer | Maximum number of toots to extract across all profiles. | 100 |
useResidentialProxy | Boolean | Enable residential proxy for better success rate. | false |
Example Input
{"urls": ["https://mastodon.social/@Gargron","https://fosstodon.org/@nixCraft"],"maxResults": 200,"useResidentialProxy": false}
Output
The actor outputs two types of records to the dataset:
Profile Record (type: "profile")
| Field | Type | Description |
|---|---|---|
type | String | Always "profile" for profile records |
username | String | Mastodon username without instance |
displayName | String | Display name of the user |
bio | String | Profile bio as plain text |
followersCount | Integer | Number of followers |
followingCount | Integer | Number of accounts followed |
statusesCount | Integer | Total number of statuses posted |
avatar | String | Avatar image URL |
instance | String | Mastodon instance origin URL |
profileUrl | String | Full URL to the user profile |
createdAt | String | Account creation date |
scrapedAt | String | ISO 8601 timestamp of when data was scraped |
Toot Record (type: "toot")
| Field | Type | Description |
|---|---|---|
type | String | Always "toot" for toot records |
username | String | Username of the account |
content | String | Toot text content (HTML tags stripped) |
createdAt | String | ISO 8601 timestamp of when the toot was posted |
reblogsCount | Integer | Number of boosts on the toot |
favouritesCount | Integer | Number of favourites on the toot |
repliesCount | Integer | Number of replies to the toot |
isReblog | Boolean | Whether this is a boosted/reblogged toot |
language | String | Language of the toot |
visibility | String | Toot visibility: public, unlisted, private, or direct |
tootUrl | String | Direct URL to the toot |
instance | String | Mastodon instance origin URL |
scrapedAt | String | ISO 8601 timestamp of when data was scraped |
Example Output
{"type": "toot","username": "Gargron","content": "Just released Mastodon 4.3 with improved search and trending posts...","createdAt": "2024-01-15T14:30:00.000Z","reblogsCount": 85,"favouritesCount": 230,"repliesCount": 12,"isReblog": false,"language": "en","visibility": "public","tootUrl": "https://mastodon.social/@Gargron/12345678","instance": "https://mastodon.social","scrapedAt": "2024-01-16T08:00:00.000Z"}
Tips and Notes
- Instance compatibility: This actor works with any instance that supports the Mastodon REST API, including Mastodon, Pleroma, Akkoma, and other fediverse platforms.
- Public API: The actor uses the public Mastodon API which does not require authentication. Only publicly visible profiles and posts are scraped.
- Rate limiting: Mastodon instances may rate limit API requests. If you encounter issues, enable residential proxy or reduce the number of profiles per run.
- Toot limit: The API returns up to 40 toots per request. For profiles with many posts, multiple paginated requests would be needed.
- Memory usage: This actor is lightweight since it uses API calls rather than browser rendering. The default 256 MB memory is sufficient for most runs.