Mastodon Instance Scraper
Pricing
from $0.30 / 1,000 results
Mastodon Instance Scraper
Scrape Mastodon instance public timelines and instance metadata. Extract toots, boosts, favourites, reply counts, author details, media attachments, and instance statistics using the Mastodon public API.
Pricing
from $0.30 / 1,000 results
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 instance public timelines and instance metadata. Extract toots, boosts, favourites, reply counts, author details, media attachments, and instance statistics using the Mastodon public API.
Features
- Scrape public timelines from any Mastodon instance
- Collect instance metadata (user count, status count, version, rules)
- Automatic pagination for large timeline collections
- Filter for local-only or media-only toots
- HTML content cleaned to plain text
- Extract reblog/boost information
- Collect author follower/following counts
- Tag and media attachment extraction
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
instanceUrls | array | Yes | - | List of Mastodon instance base URLs (e.g. https://mastodon.social) |
maxToots | integer | No | 100 | Maximum toots per instance. Set 0 for single page (40 toots) |
includeInstanceInfo | boolean | No | true | Also fetch instance metadata from /api/v1/instance |
onlyLocal | boolean | No | false | Only fetch toots from local instance users |
onlyMedia | boolean | No | false | Only fetch toots containing media attachments |
proxyConfiguration | object | No | Apify Proxy | Proxy settings for requests |
Output Fields
Toot Items (type: "toot")
| Field | Type | Description |
|---|---|---|
type | string | Always "toot" for toot items |
tootId | string | Unique Mastodon toot ID |
tootContent | string | Plain text content of the toot |
contentHtml | string | Original HTML content |
author | string | Display name of the toot author |
authorHandle | string | Author's handle (user@instance or local username) |
authorUrl | string | URL to the author's profile |
authorFollowers | number | Author's follower count |
authorFollowing | number | Number of accounts the author follows |
authorStatusesCount | number | Total toots by the author |
authorBot | boolean | Whether the account is a bot |
boostCount | number | Number of boosts (reblogs) |
favouriteCount | number | Number of favourites (likes) |
repliesCount | number | Number of replies |
createdAt | string | ISO timestamp of toot creation |
language | string | Language code of the toot |
sensitive | boolean | Whether marked as sensitive content |
visibility | string | Toot visibility level |
tootUrl | string | Direct URL to the toot |
tags | array | Hashtags used in the toot |
mediaAttachments | array | Media files attached (type, url, description) |
reblog | object | Reblogged toot info if this is a boost |
instanceUrl | string | Source instance URL |
scrapedAt | string | ISO timestamp of data collection |
Instance Info Items (type: "instanceInfo")
| Field | Type | Description |
|---|---|---|
type | string | Always "instanceInfo" |
instanceName | string | Name of the Mastodon instance |
description | string | Instance description |
userCount | number | Total registered users |
statusCount | number | Total toots on the instance |
domainCount | number | Number of federated domains |
version | string | Mastodon software version |
registrations | boolean | Whether new registrations are open |
adminContact | string | Admin contact email |
rules | array | Instance rules as text strings |
Example Output
{"type": "toot","tootId": "111234567890","tootContent": "Just discovered a great open-source project! #opensource #foss","author": "Jane Developer","authorHandle": "jane@fosstodon.org","boostCount": 12,"favouriteCount": 45,"repliesCount": 3,"createdAt": "2024-12-15T14:30:00.000Z","tags": ["opensource", "foss"],"mediaAttachments": [],"instanceUrl": "https://fosstodon.org","scrapedAt": "2024-12-20T10:00:00.000Z"}
Use Cases
- Fediverse analytics: Monitor activity across multiple Mastodon instances
- Community research: Study engagement patterns in specific Mastodon communities
- Content discovery: Find trending toots and popular hashtags
- Instance comparison: Compare instance sizes, activity levels, and policies
- Bot detection: Identify automated accounts across the fediverse
- Media monitoring: Track media-rich posts across instances
Cost Estimate
This actor uses the Utility pricing tier at $0.0003 per result. Example costs:
| Toots Scraped | Estimated Cost |
|---|---|
| 100 | $0.03 |
| 1,000 | $0.30 |
| 10,000 | $3.00 |
Mastodon public APIs are generally permissive, so proxy costs are minimal. Compute costs are low due to the lightweight Cheerio-based approach.
Notes
- Only public toots are accessible through this scraper
- Rate limits vary by instance; the scraper handles pagination automatically
- Some instances may block API access from certain IP ranges
- The Mastodon API v1 is used for maximum compatibility across instances