Hashnode Scraper avatar

Hashnode Scraper

Pricing

Pay per event

Go to Apify Store
Hashnode Scraper

Hashnode Scraper

Scrape public Hashnode article feeds by tag or URL. Export titles, authors, dates, excerpts, cover images, and article links for developer-content research.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Collect public Hashnode articles from tags and feed URLs. Use this actor to monitor developer conversations, discover new technical content, and export article metadata for research, newsletters, competitive intelligence, and developer-relations workflows.

What does Hashnode Scraper do?

Hashnode Scraper extracts public article cards from Hashnode tag and topic feeds such as https://hashnode.com/n/ai or https://hashnode.com/tag/javascript. It reads the server-rendered page metadata and saves clean dataset rows with article titles, URLs, authors, excerpts, publication dates, cover images, word counts, and estimated reading time.

Who is it for?

  • ๐Ÿง‘โ€๐Ÿ’ป Developer relations teams tracking what engineers write about a language, framework, or product category.
  • ๐Ÿ“ฐ Newsletter writers looking for fresh posts on AI, JavaScript, DevOps, startups, or open-source tools.
  • ๐Ÿ“ˆ Content marketers researching which technical topics are gaining attention.
  • ๐Ÿงช Product researchers monitoring developer feedback around libraries, APIs, and engineering workflows.
  • ๐Ÿงฐ Automation builders who need a reliable Hashnode dataset for downstream enrichment.

Why use it?

Hashnode is a public developer publishing platform. Manual browsing is fine for one tag, but it becomes slow when you need repeatable exports across many topics. This actor turns public Hashnode feeds into structured data that can be filtered, deduplicated, joined with other sources, or sent into BI and AI pipelines.

What data can you extract?

FieldDescription
tagHashnode tag inferred from the input feed
feedUrlTag or feed URL that produced the item
positionPosition in the current run output
titleArticle headline
articleUrlPublic article URL
canonicalUrlArticle URL without tracking parameters
authorNameAuthor display name when available
authorUrlPublic Hashnode author profile URL
authorHandleHashnode handle inferred from author URL
publicationNamePublisher name from JSON-LD metadata
publicationUrlPublisher URL from JSON-LD metadata
excerptArticle description or preview text
imageUrlCover image URL when present
datePublishedPublication timestamp from Hashnode metadata
dateModifiedModification timestamp when article detail metadata is fetched
wordCountWord count from Hashnode structured data
estimatedReadTimeMinutesEstimated read time based on word count
tagsDetail-page keywords when available
scrapedAtISO timestamp for the scrape

How much does it cost to scrape Hashnode articles?

The actor uses pay-per-event pricing: a small start fee plus a per-article result fee. Small monitoring runs are inexpensive because the default input is capped at 25 articles. For large recurring jobs, set maxItems to the smallest number that gives your workflow enough fresh content.

How to use Hashnode Scraper

  1. Open the actor on Apify.
  2. Enter one or more Hashnode tags such as ai, javascript, devops, or startup.
  3. Optionally add full Hashnode feed URLs.
  4. Set maxItems to your desired article limit.
  5. Keep detail fetching disabled for fastest runs, or enable it when you need extra article metadata.
  6. Start the run and download the dataset as JSON, CSV, Excel, or through the API.

Input options

tags

A list of Hashnode tag slugs without the # sign. Example:

["ai", "javascript", "startup"]

startUrls

Optional full Hashnode feed URLs. Example:

[{ "url": "https://hashnode.com/n/ai" }]

maxItems

Maximum number of article records to save across all inputs. The default is intentionally low so first runs are cheap.

includeArticleDetails

When enabled, the actor opens each article page and attempts to read more JSON-LD metadata. Disable it for lightweight feed monitoring.

Output example

{
"tag": "ai",
"feedUrl": "https://hashnode.com/n/ai",
"position": 1,
"title": "How I Evaluate AI Models for Real Product Workflows",
"articleUrl": "https://example.hashnode.dev/how-i-evaluate-ai-models",
"canonicalUrl": "https://example.hashnode.dev/how-i-evaluate-ai-models",
"authorName": "Jane Developer",
"authorUrl": "https://hashnode.com/@janedev",
"authorHandle": "@janedev",
"excerpt": "Choosing an AI model is not a one-time decision...",
"datePublished": "2026-05-29T08:40:44.781Z",
"wordCount": 500,
"estimatedReadTimeMinutes": 2,
"scrapedAt": "2026-05-29T09:00:00.000Z"
}

Tips for better results

  • โœ… Use multiple tags when you need more volume, for example ai, machine-learning, and llm.
  • โœ… Keep includeArticleDetails off for scheduled trend monitoring.
  • โœ… Use detail fetching for one-off enrichment runs where extra metadata matters more than speed.
  • โœ… Deduplicate downstream by canonicalUrl if you combine many related tags.
  • โœ… Schedule the actor daily or weekly to watch new technical content.

Integrations

Hashnode Scraper works well with:

  • Google Sheets or Airtable for editorial planning.
  • Slack or Discord notifications for new posts about a product category.
  • Vector databases for searchable developer-content archives.
  • CRM enrichment workflows for developer advocates and content teams.
  • LLM pipelines that summarize public engineering discussions.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/hashnode-scraper').call({
tags: ['ai', 'javascript'],
maxItems: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/hashnode-scraper').call(run_input={
'tags': ['ai', 'javascript'],
'maxItems': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~hashnode-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"tags":["ai","javascript"],"maxItems":50}'

MCP usage

Use the actor through Apify MCP with tools scoped to this actor:

https://mcp.apify.com/?tools=automation-lab/hashnode-scraper

Claude Code setup:

$claude mcp add apify-hashnode https://mcp.apify.com/?tools=automation-lab/hashnode-scraper

Claude Desktop JSON config:

{
"mcpServers": {
"apify-hashnode": {
"url": "https://mcp.apify.com/?tools=automation-lab/hashnode-scraper"
}
}
}

Example prompts:

  • "Run Hashnode Scraper for the ai tag and summarize the newest posts."
  • "Find recent Hashnode articles about JavaScript tooling and export the URLs."
  • "Monitor Hashnode startup posts weekly and identify repeated pain points."

Scheduling

Create an Apify schedule to run the actor every morning for your target tags. Combine the dataset with a webhook to send new article URLs to Slack, Notion, or an internal dashboard.

Data quality notes

The actor reads public structured metadata embedded in Hashnode pages. Some articles may omit cover images, detail keywords, or modified timestamps. The actor leaves unavailable values as null instead of inventing data.

Performance notes

For normal feed monitoring, this is an HTTP-only actor and does not open a browser. Enabling article detail fetching adds one HTTP request per article, so use it only when you need more metadata.

Legality

This actor extracts publicly available Hashnode page metadata. You are responsible for using the data in line with applicable laws, Hashnode terms, and privacy rules. Do not use scraped data for spam, harassment, or unauthorized profiling.

FAQ

Can I scrape any Hashnode tag?

You can provide public Hashnode tag slugs or public Hashnode feed URLs. If a tag has few recent posts, the actor may return fewer items than requested.

Why did I get fewer articles than maxItems?

Hashnode may show fewer public posts for that tag in the initial feed. Add related tags or start URLs to increase volume.

Does this scrape private drafts or gated content?

No. It only reads public pages available without logging in.

Should I enable article detail fetching?

Enable it when you need extra article-page metadata. Leave it disabled for cheaper and faster monitoring.

Troubleshooting

If a run returns no items, check that the tag exists publicly on Hashnode. Try a broad tag such as ai or javascript. If a specific article field is empty, the page likely did not expose that value in structured metadata.

You may also find these automation-lab actors useful:

Changelog

0.1

Initial release with tag inputs, feed URLs, public article metadata extraction, optional article detail enrichment, and structured dataset output.