Curated Developer Newsletter Link Scraper avatar

Curated Developer Newsletter Link Scraper

Pricing

Pay per event

Go to Apify Store
Curated Developer Newsletter Link Scraper

Curated Developer Newsletter Link Scraper

Scrapes curated link archives from developer newsletters (JavaScript Weekly, Ruby Weekly, Node Weekly, Android Weekly, iOS Dev Weekly) and extracts each curated item with its title, URL, editor commentary, section, and sponsored flag.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Extract every curated link from the archives of top developer newsletters — JavaScript Weekly, Ruby Weekly, Node Weekly, Android Weekly, iOS Dev Weekly, and more.

Each newsletter issue is decomposed into its constituent curated items: the external destination URL, headline, editor commentary, section, link position, and a sponsored-slot flag. The result is a structured dev-trend and link-intelligence dataset showing which libraries, tools, repos, and articles the most authoritative curators featured, when, and with what framing.

What it does

For each newsletter archive you specify, the scraper:

  1. Loads the issue archive index to enumerate all historical issue URLs
  2. Fetches each issue page (most recent first, up to maxIssues per newsletter)
  3. Extracts every curated link item with full metadata

Supported newsletter families:

NewsletterDomainIssues
JavaScript Weeklyjavascriptweekly.com700+
Ruby Weeklyrubyweekly.com700+
Node Weeklynodeweekly.com500+
iOS Dev Weeklyiosdevweekly.com700+
Android Weeklyandroidweekly.net700+

Any newsletter with the same archive structure can be added via the newsletters input.

Output fields

FieldTypeDescription
newsletter_namestringNewsletter name (e.g. JavaScript Weekly)
newsletter_domainstringDomain (e.g. javascriptweekly.com)
issue_numberintegerIssue number
issue_urlstringFull URL of the issue page
issue_titlestringIssue title (e.g. JavaScript Weekly Issue 700: August 15, 2024)
issue_datestringPublication date parsed from the title
link_positionintegerOrder of this link within the issue
link_titlestringCurated item headline
link_urlstringExternal destination URL
link_domainstringDomain of the destination URL
editor_commentarystringEditor's description/blurb for the item
sectionstringSection label (e.g. In Brief, Releases, Jobs) where available
is_sponsoredbooleanWhether this is a sponsored or classified ad slot
scraped_atstringISO timestamp of when this record was scraped

Use cases

  • Dev-trend analysis: track which libraries, repos, and tools the most authoritative curators featured over time
  • Content marketing / PR: discover when a project first appeared in a newsletter, and with what framing
  • Link intelligence: build a structured index of the most frequently curated developer resources
  • Competitive intelligence: see which competing products and tools get curated vs your own

Input options

ParameterTypeDefaultDescription
newslettersarrayAll 5 major newslettersList of newsletter archive URLs (e.g. https://javascriptweekly.com/issues)
maxIssuesinteger3Max number of issues to scrape per newsletter (most recent first, 0 = all)
maxItemsinteger15Maximum total link records to return

Example output

{
"newsletter_name": "JavaScript Weekly",
"newsletter_domain": "javascriptweekly.com",
"issue_number": 789,
"issue_url": "https://javascriptweekly.com/issues/789",
"issue_title": "JavaScript Weekly Issue 789",
"issue_date": "",
"link_position": 1,
"link_title": "Announcing TypeScript 5.8",
"link_url": "https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/",
"link_domain": "devblogs.microsoft.com",
"editor_commentary": "TypeScript 5.8 is here with require() of ES modules in Node.js 22 and a bunch of other goodies.",
"section": "",
"is_sponsored": false,
"scraped_at": "2025-06-12T10:23:45.000Z"
}

Notes

  • No authentication required. All target newsletters are publicly accessible.
  • The scraper uses a polite 500ms delay between requests to be respectful of the servers.
  • For full archive crawls (all issues, all newsletters), set maxIssues: 0 and a high maxItems value. A full crawl of all five newsletters (5000+ issues x ~15 links each) produces tens of thousands of records.