Mastodon Lookup: Hashtag Posts and Account Profiles avatar

Mastodon Lookup: Hashtag Posts and Account Profiles

Pricing

from $0.50 / 1,000 item returneds

Go to Apify Store
Mastodon Lookup: Hashtag Posts and Account Profiles

Mastodon Lookup: Hashtag Posts and Account Profiles

Extract public posts from Mastodon hashtag timelines and retrieve account profiles, follower counts, and bios with zero API keys and built-in delta monitoring.

Pricing

from $0.50 / 1,000 item returneds

Rating

0.0

(0)

Developer

Adriana Voss

Adriana Voss

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Extract public hashtag timeline posts and account profiles from Mastodon without API keys. One row per post or account profile, newest first. Switch between hashtag timelines and account lookups with the Mode setting, and turn on delta monitoring on a schedule to get only items that are new since your last run.

Who uses it: Social media researchers, brand monitors, fediverse community builders, and intelligence analysts tracking open-web discussions across federated Mastodon instances.

What it does not do: It reads public federated posts and profiles only. It does not log in, cannot read private accounts or direct messages, and does not require Mastodon OAuth tokens. Missing profile fields or posts without media return null, never empty strings or zeroes.

How to use

  1. In the Apify Console. Open the actor page and click Start — the hashtag field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. Via the API. Call it directly with a POST request — no Console needed once you have an API token:
    curl "https://api.apify.com/v2/acts/accountable_eel~mastodon-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"hashtag":["photography"]}'
  3. On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.

Input

{
"hashtag": [
"photography"
]
}

In hashtag mode: enter a hashtag (e.g. photography) with or without the #. In account mode: enter account handles (e.g. Gargron@mastodon.social or Gargron). Accepted formats: photography, nature, Gargron@mastodon.social, @Gargron, https://mastodon.social/@Gargron.

You can also pass {"mode": "hashtag", "hashtag": "photography", "maxItems": 20} or {"mode": "account", "accounts": ["Gargron@mastodon.social"]} directly. The actor automatically routes each request to the right endpoint.

Output

One row per post in hashtag mode, or one row per profile in account mode:

queryfoundstatusmodehashtagpostIdpostUrlcontentcreatedAtauthorUsernameauthorAcctauthorDisplayNameauthorUrlrepliesCountreblogsCountfavouritesCountmediaUrlstagslanguagesensitiveaccountaccountIdusernameacctdisplayNameaccountUrlnotefollowersCountfollowingCountstatusesCountlastStatusAtbotlockedavatarheaderfieldssourceUrlmonitorStatusisNewfirstSeenAtscrapedAt
photographytrueOK<bio / note>1970-01-01T00:00:00.000Z

Sample hashtag post output:

{
"mode": "hashtag",
"hashtag": "photography",
"postId": "117423507967870319",
"postUrl": "https://pixelfed.social/p/keadamander/1014953352112089741",
"content": "Between the Beats\n\n#photography #MusicPhotography #DrumPhotography",
"createdAt": "2026-10-11T17:42:16.000Z",
"authorUsername": "keadamander",
"authorAcct": "keadamander@pixelfed.social",
"authorDisplayName": "keadamander",
"authorUrl": "https://pixelfed.social/keadamander",
"repliesCount": 0,
"reblogsCount": 2,
"favouritesCount": 0,
"mediaUrls": null,
"tags": ["photography", "musicphotography"],
"language": null,
"sensitive": false,
"sourceUrl": "https://pixelfed.social/p/keadamander/1014953352112089741",
"scrapedAt": "2026-10-11T17:45:00.000Z"
}

Sample account profile output:

{
"mode": "account",
"account": "Gargron@mastodon.social",
"accountId": "1",
"username": "Gargron",
"acct": "Gargron",
"displayName": "Eugen Rochko",
"accountUrl": "https://mastodon.social/@Gargron",
"note": "Executive Strategy & Product Advisor, Founder of @Mastodon.",
"createdAt": "2016-03-16T00:00:00.000Z",
"followersCount": 383095,
"followingCount": 748,
"statusesCount": 82458,
"lastStatusAt": "2026-10-11",
"bot": false,
"locked": false,
"sourceUrl": "https://mastodon.social/@Gargron",
"scrapedAt": "2026-10-11T17:45:00.000Z"
}

A not-found input returns a row with "found": false and is never charged. In monitoring mode, a run with no new posts returns a quiet status row with monitorStatus: "NO_NEW_ITEMS" and is also never charged.

Pricing

  • Item returned: $1.00 per 1,000 items

Plus a $0.003 start fee per run. Charged per post or account profile returned. Misses and quiet monitoring runs are never charged.

Example runs

Paste any of these into the Input tab and press Start. All three run keyless with no setup needed.

Hashtag posts timeline (default mode). Fetches public posts for a hashtag.

{
"mode": "hashtag",
"hashtag": "photography",
"maxItems": 20
}

Account profile lookup. Fetches public follower counts, bio, and metadata for a handle.

{
"mode": "account",
"accounts": [
"Gargron@mastodon.social"
]
}

Hashtag monitoring alert. Schedule this on Apify to receive only posts published since your last run.

{
"mode": "hashtag",
"hashtag": "photography",
"onlyNewSinceLastRun": true,
"deltaName": "photography-watch"
}

Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

curl "https://api.apify.com/v2/acts/accountable_eel~mastodon-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"hashtag":["photography"]}'

n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~mastodon-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"hashtag":["photography"]} (swap in an expression from an earlier node for a real value).

Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~mastodon-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"hashtag":["{{hashtag or account}}"]}, mapping the row's hashtag or account into the hashtag array.

MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "mastodon scraper hashtags and accounts" — the agent will find and run this actor.