Zenn Developer Feed Monitor - Creators & Topics avatar

Zenn Developer Feed Monitor - Creators & Topics

Pricing

from $1.20 / 1,000 developer article observations

Go to Apify Store
Zenn Developer Feed Monitor - Creators & Topics

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

Brandt May

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Watch developer publishing activity — illustrative workflow

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

FieldMeaning
creatorsUp to 20 exact lowercase Zenn handles; URLs are not accepted.
topicsLowercase ASCII Zenn topic slugs, such as typescript or python. At most 20 creator and topic feeds combined.
includeTrendingAdd the publisher-selected trending feed; default false with an empty-source fallback.
maxItemsPerFeedFirst entries in each feed’s supplied order, before keywords or comparison; default 10, maximum 20.
keywordsUp to 20 literal case-insensitive substrings. Any matching title or returned excerpt qualifies.
maxResultsConfirmed saved observations; default 20, maximum 500. Skipped unchanged rows do not consume this cap.
comparePreviousCompare against saved observations; default false.
onlyChangesImplies comparison and skips unchanged observations; default false.
snapshotNameNamed history namespace, 1–40 letters, digits, underscores or hyphens.
maxRunSecondsDefault 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 matchesMatching 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 handleThat field comes from the canonical URL namespace. Use the source-supplied creatorName separately; an author handle is not inferred.
Trending does not look chronologicalTrending 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.