Zenn Developer Feed Monitor - Creators & Topics
Pricing
from $1.20 / 1,000 developer article observations
Zenn Developer Feed Monitor - Creators & Topics
Monitor Zenn community RSS by creator, topic or trending selection. Export public article and book announcements, excerpts, literal mentions and saved changes. No article or chapter crawling.
Pricing
from $1.20 / 1,000 developer article observations
Rating
0.0
(0)
Developer
Brandt May
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

Open this Actor in Console · Try a small run · Cost
Mayd-It · Developer communities
Follow publishing activity in Japan’s Zenn developer community. Use creator, topic or trending feeds to collect public article and book announcements for developer relations and product-mention workflows.
Source scope: Publisher titles, excerpts and links from public RSS. No login, API key or proxy; articles, paid books, chapters and comment threads are not crawled.
What you get
- Public article and book announcements with canonical source identities.
- Creator, topic and publisher-selected trending feeds in one dataset.
- Literal mention evidence and saved headline or excerpt changes.
Try a small run
Copy this exact input into the Actor’s JSON input editor, then run it.
{"topics": ["typescript"],"maxItemsPerFeed": 10,"maxResults": 10}
This example selects up to ten entries from the TypeScript topic feed. {} instead uses up to ten current trending entries. Set creators or topics for your own watchlist; includeTrending: true adds trending alongside them. If both lists are empty, trending remains the fallback. Review the dataset and SUMMARY after the run.
Understand your run
Open Run report in the run’s Output tab for saved-record counts, reported source issues and limits, and suggested next steps. Use CSV export to take the saved results into a spreadsheet. The existing JSON results and detailed machine-readable summary remain available.
The report reflects this run’s recorded coverage. A successful run or a saved result does not establish that every possible source record was collected.
Cost
FREE / BRONZE: $0.002 per saved observation ($2 per 1,000). SILVER: $1.60 per 1,000. GOLD / PLATINUM / DIAMOND: $1.20 per 1,000.
The Actor Start event is $0.00005 per charged start unit, with one unit per GB of Actor memory and a minimum of one. The Pricing tab shows the rate for your Apify tier. New, changed and ordinarily saved unchanged observations use the same result rate. Skipped unchanged rows, rejected events, duplicates and error diagnostics are not paid result rows. Use onlyChanges for repeated monitoring after establishing history.
A real result
Selected fields from a recorded run on 10 October 2026. This is an example of the output shape; source content and counters can change.
{"postId": "kazurayam/articles/b2cc6af3cc7f25","entryType": "article","title": "ministaのMarkdownサポートを活用して \"お知らせ\" ページを実装してみた","sourceHandle": "kazurayam","publishedAt": "2026-10-10T12:48:34.000Z","feedUrls": ["https://zenn.dev/topics/typescript/feed"],"comparisonStatus": "not_requested"}
The full row includes the publisher’s excerpt. sourceHandle is the URL namespace and can identify a publication rather than an individual author.
More examples
Watch official Zenn creator updates
Read the official Zenn creator feed instead of a topic selection.
{"creators": ["zenn"],"maxItemsPerFeed": 10,"maxResults": 10}
Compare saved TypeScript feed observations
Establish history for the TypeScript feed. Repeat sequentially with onlyChanges: true to save only new or changed observations.
{"topics": ["typescript"],"maxItemsPerFeed": 10,"maxResults": 100,"comparePrevious": true,"snapshotName": "example-typescript"}
Input reference
| Field | Meaning |
|---|---|
| creators | Up to 20 exact lowercase Zenn handles; URLs are not accepted. |
| topics | Lowercase ASCII Zenn topic slugs, such as typescript or python. At most 20 creator and topic feeds combined. |
| includeTrending | Add the publisher-selected trending feed; default false with an empty-source fallback. |
| maxItemsPerFeed | First entries in each feed’s supplied order, before keywords or comparison; default 10, maximum 20. |
| keywords | Up to 20 literal case-insensitive substrings. Any matching title or returned excerpt qualifies. |
| maxResults | Confirmed saved observations; default 20, maximum 500. Skipped unchanged rows do not consume this cap. |
| comparePrevious | Compare against saved observations; default false. |
| onlyChanges | Implies comparison and skips unchanged observations; default false. |
| snapshotName | Named history namespace, 1–40 letters, digits, underscores or hyphens. |
| maxRunSeconds | Default 240, minimum 30, maximum 3600; also bounded by the platform deadline minus 25 seconds. |
Output reference
Each real observation includes postId, entryType (article or book), title, excerpt, excerptTruncated, sourceHandle, creatorName, publishedAt, sourceUrl, feedUrls, matchedKeywords and observedAt. The post ID is URL-owner/articles-or-books/slug. sourceHandle is the canonical URL namespace: it can name a publication rather than the individual author. creatorName is the feed's supplied creator display name; no author handle is inferred. Display names can be empty if omitted by the feed. A thumbnailUrl is included only when the feed supplies a usable HTTPS image URL; the image itself is never fetched.
Descriptions are the publisher’s plain-text excerpts. Excerpts are capped at 4,000 characters and excerptTruncated reports that cap. The Actor does not generate summaries, translate text, infer sentiment or fetch full article content. Keyword matching uses only the returned title and excerpt.
Comparison output is comparisonStatus (not_requested, new, changed or unchanged), changedFields, previous and previousObservedAt. Watched fields are title, excerpt, truncation flag, publisher date, canonical source namespace (sourceHandle) and creator display name. Thumbnail URLs, feed membership, matched keywords and observation time are excluded from comparison.
Saved history and repeat runs
The first comparison run emits initial observations as new. Repeat the same bounded source window and snapshotName with onlyChanges: true to export only new or changed observations. An unchanged repeat legitimately saves zero rows. History records the last saved observation, so unchanged skipped runs do not advance previousObservedAt.
Named stores use maydit-zenn-feed-<snapshotName>. History is keyed by post identity within that namespace. Only confirmed saved rows update it. A rejected spending-limit write, filtered entry or unsaved result cannot be marked seen. Existing records are retained when an entry disappears from the recent window; no deletion is inferred.
Run a snapshot namespace sequentially. A reread catches some overlapping writes, but it is not an atomic lock. Use different names for independent workflows. Invalid saved history is reported as an error and preserved; select a new name to start again.
Coverage and limitations
Zenn’s documented feeds expose recent publisher-selected windows, including article and book announcements. The trending feed is a selection, not a complete chronology or a measurement of popularity. Books receive the same public feed metadata treatment; no chapters or paid book content are opened. Scraps, full-history parameters and site search are not supported.
An edit is detected only while the post is visible in the selected feed window. A publication date is the source’s publication date, not an edit timestamp. This Actor does not expose engagement counts, follower counts, comments, ranking scores or historical backfill. Feeds can lag or change between requests.
Overlapping feeds are deduplicated by post identity and their feedUrls are retained. If the same post has conflicting fields in two responses, the first observation is retained and the conflict is recorded in SUMMARY. Treat that run as partial.
SUMMARY records actual saved and observed counts, per-feed available/selected entries, filter and unchanged skips, failed sources, sources not reached and deadline or spending stops. A selected result/window cap is scope, not an operational failure. Partial runs can contain useful paid observations. All-source failures with no usable output fail rather than producing fake error rows.
Requests respect robots.txt, validate public network destinations, reject redirects and bound response size and retry delays. Robots restrictions or upstream errors are reported. There is no fallback through private APIs or alternate anti-bot routes.
Source and reuse
The platform documents its feeds here: official RSS instructions. This Actor is independent of the platform. Public syndication does not transfer copyright; retain the publisher link and respect the source’s terms when reusing excerpts.
Development
Node 20.19 or newer; exact apify 3.7.2 and cheerio 1.1.2, with basic-ftp overridden to 6.2.2. Run npm ci --ignore-scripts --omit=optional, then npm test or npm start. Use isolated CRAWLEE_STORAGE_DIR directories for local runs. The Docker image uses Node 20. No downloaded code or post content is executed.
Troubleshooting and support
| If you see… | Check this |
|---|---|
| A keyword has no matches | Matching checks only returned titles and excerpts within the selected feed window. It is not a site-wide search or semantic classifier. |
| A publication appears as the source handle | That field comes from the canonical URL namespace. Use the source-supplied creatorName separately; an author handle is not inferred. |
| Trending does not look chronological | Trending is the publisher’s selection, not a full chronology or a measured popularity score. |
For help, open an Actor issue or contact bmay@mayd-it.com. Include the run ID, selected sources and the relevant SUMMARY message. Do not send credentials. This Actor is independent of the platform.