Hashnode Scraper
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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?
| Field | Description |
|---|---|
tag | Hashnode tag inferred from the input feed |
feedUrl | Tag or feed URL that produced the item |
position | Position in the current run output |
title | Article headline |
articleUrl | Public article URL |
canonicalUrl | Article URL without tracking parameters |
authorName | Author display name when available |
authorUrl | Public Hashnode author profile URL |
authorHandle | Hashnode handle inferred from author URL |
publicationName | Publisher name from JSON-LD metadata |
publicationUrl | Publisher URL from JSON-LD metadata |
excerpt | Article description or preview text |
imageUrl | Cover image URL when present |
datePublished | Publication timestamp from Hashnode metadata |
dateModified | Modification timestamp when article detail metadata is fetched |
wordCount | Word count from Hashnode structured data |
estimatedReadTimeMinutes | Estimated read time based on word count |
tags | Detail-page keywords when available |
scrapedAt | ISO 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
- Open the actor on Apify.
- Enter one or more Hashnode tags such as
ai,javascript,devops, orstartup. - Optionally add full Hashnode feed URLs.
- Set
maxItemsto your desired article limit. - Keep detail fetching disabled for fastest runs, or enable it when you need extra article metadata.
- 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, andllm. - โ
Keep
includeArticleDetailsoff for scheduled trend monitoring. - โ Use detail fetching for one-off enrichment runs where extra metadata matters more than speed.
- โ
Deduplicate downstream by
canonicalUrlif 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 ApifyClientimport osclient = 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().itemsprint(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
aitag 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.
Related scrapers
You may also find these automation-lab actors useful:
- https://apify.com/automation-lab/github-repositories-search-scraper
- https://apify.com/automation-lab/product-hunt-scraper
- https://apify.com/automation-lab/medium-scraper
- https://apify.com/automation-lab/rss-feed-scraper
Changelog
0.1
Initial release with tag inputs, feed URLs, public article metadata extraction, optional article detail enrichment, and structured dataset output.