The post
Bluesky has one content unit, a BlueskyPost.id is the record key (rkey); uri is the global AT Protocol identity. url is the web link on bsky.app. Text, languages, author (handle + DID), metrics (likes, reposts, replies, quotes) and an optional embed (images, external link, record, video) travel together.
Do not call it a skeet in product language, and do not reuse Post: Reddit owns that envelope key.
Coverage
A search on Bluesky requires a search term and/or an author: at least one must be set. Optionallang narrows a text search.
These are this Source’s own criteria: on the keyword they go in the search’s
overrides.filters (see Keywords).
- With author, each tick polls that author’s feed.
- With query (and no author), each tick polls post search, newest first.
from:handle, #tag, "exact phrase", and the rest of the grammar.
Interval: 120 to 86400 seconds. At most 20 active Bluesky searches per Account. Each tick costs 1 credit.
What an event carries
The first tick establishes a silent baseline and emits nothing. Later ticks emitbluesky_post.created with the full post in the blueskyPost envelope key. webhookUrl is optional: without it the keyword still records every match, readable through GET /v1/keywords/{id}/events in the same shape. See Webhooks.
Errors
A search whose author no longer resolves reports the failure in the keyword’s activity rather than going quiet: read it throughGET /v1/keywords/{id}/activity. A temporary Source failure is 503 and is not charged.