Bluesky Account & Keyword Monitor avatar

Bluesky Account & Keyword Monitor

Under maintenance

Pricing

from $3.00 / 1,000 new match delivereds

Go to Apify Store
Bluesky Account & Keyword Monitor

Bluesky Account & Keyword Monitor

Under maintenance

Watch Bluesky accounts and keywords on a schedule and get only posts you have not seen before. Cross-run memory, Discord and Slack alerts, digest mode. Account watching needs no credentials.

Pricing

from $3.00 / 1,000 new match delivereds

Rating

0.0

(0)

Developer

Muhammad Zuhaib Zahid

Muhammad Zuhaib Zahid

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Watch Bluesky accounts and keywords on a schedule. Each run remembers exactly which posts it has already delivered and returns only the NEW ones, so you can poll every few minutes without noise and without paying twice for the same post.

Built entirely on the open AT Protocol API (public AppView). No scraping, no unofficial endpoints.

New posts only

Cross-run memory

Discord alert

Read this before you start: which watches need a login

Watch typeCredentialsWorks out of the box
Account watches (every new post by a handle)noneYes
Keyword watches (search queries)a free Bluesky app passwordNo

Bluesky restricts anonymous use of its search endpoint from datacentre networks, which is where this Actor runs. Account watches use a different endpoint and are unaffected.

To enable keyword watches, create a free app password in Bluesky under Settings, App Passwords, then put your handle in blueskyHandle and the app password in blueskyAppPassword. An app password is revocable and is not your account password.

The default input watches active accounts, so a run with no configuration works immediately, with no credentials, from any network.

What it does

  • Keyword watches use the full Bluesky search syntax: "exact phrase", from:handle, mentions:handle, -negative, lang:en, has:media, and any combination.
  • Account watches deliver every new post by one account, straight from the stable author-feed endpoint.
  • Cross-run memory - seen posts are stored between runs; a scheduled run emits only posts that are genuinely new.
  • Webhook alerts - post each batch (or each match) to Discord, Slack, or your own receiver as ready-to-use payloads.
  • Digest mode - write one summary item per run instead of one item per match; the cheapest way to poll frequently.
  • Filters - minimum likes, languages, exclude replies, exclude reposts, per-watch caps.

Quick start

  1. Run the actor with the default input. It watches two active accounts (The New York Times and NPR), fetches their latest posts, and writes new posts to the dataset plus a run-stats summary item. Account watches need no credentials.
  2. Open the Input panel and replace the watchlist with your own keywords and accounts.
  3. Open the actor's Schedule tab and set an interval (15 minutes is a good start). Keep the look-back window (sinceMinutes) a bit longer than your interval.

Add your Bluesky handle and an app password (Bluesky: Settings, Privacy and security, App passwords) to the input. Authentication raises API rate limits and avoids edge blocks on unauthenticated traffic. Use an app password, never your main password - and you can revoke it at any time in Bluesky settings.

Pricing (pay per event)

You pay only for what the run actually delivers:

EventPriceWhen
new-match$0.003each new matching post written to the dataset
digest-delivered$0.01each digest-mode run that found new matches
alert-delivered$0.01each webhook POST actually delivered (2xx)
apify-actor-start$0.00005platform default, per GB per run

A keyword with a few hundred new mentions per month costs well under a dollar. The per-run spending cap shown on the run dialog always protects you. Re-running on the same data charges nothing new, because already-seen posts are never emitted.

Input reference

See the Input schema on the right for every field with descriptions and prefilled examples. The default input is a working configuration.

Troubleshooting

  • 403 edge block - Bluesky sometimes blocks unauthenticated API traffic from datacenter IPs. Add your handle and app password (see above); authenticated calls take the normal route. The actor stops with a clear message instead of retrying into a wall.
  • 429 rate limit - lower your schedule frequency (15 minutes unauthenticated, 1 minute authenticated are safe), or authenticate. The actor already retries with backoff.
  • No matches but the keyword is active - check the look-back window: keyword search only returns posts newer than sinceMinutes. Raise it to cover your schedule gap.
  • Webhook fails - the URL must be a public http(s) endpoint; private and local addresses are rejected by design. Delivery failures are logged in the run-stats errors list and never break the run.

Privacy

Your app password is stored only in your own Actor input (use the secret field) and is sent only to Bluesky's sign-in endpoint. Webhook URLs are sent only the alert payloads described above. The actor stores only post URIs and timestamps between runs.