Blog Archive Taxonomy Extractor avatar

Blog Archive Taxonomy Extractor

Pricing

from $6.50 / 1,000 archive page scanneds

Go to Apify Store
Blog Archive Taxonomy Extractor

Blog Archive Taxonomy Extractor

Extract blog/archive taxonomy, categories, tags, authors, dates, pagination, article URLs, and archive health from public blog index pages

Pricing

from $6.50 / 1,000 archive page scanneds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Extract an article inventory from public blog index, category, tag, author, and archive pages. The Actor links visible cards to article URLs and captures titles, authors, publish and update dates, categories, tags, pagination position, duplicate URLs, and missing archive evidence.

This is designed for editorial migrations, archive quality audits, taxonomy cleanup, and content operations. It works from visible <article> cards first and can fall back to parseable Article or BlogPosting JSON-LD when a page does not expose article cards.

What is extracted

  • absolute article URLs resolved against the archive page;
  • visible article titles from headings or card links;
  • author names from author-labelled elements;
  • datetime, data-published, and data-updated values;
  • category and tag labels from common class and rel=tag patterns;
  • Article and BlogPosting headline, URL, author, dates, article section, and comma-separated keywords;
  • pagination page number for each archive source;
  • repeated article URLs across supplied archive pages;
  • missing URL, title, author, and publish-date evidence.

The Actor never fills missing authors or dates from guesses. A record with incomplete evidence is preserved and marked with an archive issue so the inventory remains useful.

Input

Use archiveUrls for public archive pages, sitemapUrls for a bounded set from XML sitemaps, or htmlInputs for captured archive HTML.

FieldPurposeDefault / cap
archiveUrlsPublic archive, category, tag, or author-index URLsempty
startUrlsAdditional public archive URLsempty
sitemapUrlsPublic XML sitemapsempty
htmlInputsCaptured records with sourceUrl and HTMLempty
followPaginationFollow a same-domain rel=next linkfalse
maxDepthMaximum rel=next depth0 by default, maximum 1
maxArchivePagesMaximum accepted archive pages1 by default, maximum 25
maxArticlesMaximum article records per archive page100, maximum 1,000
extractAuthorsExtract visible or structured author namestrue
extractTagsExtract categories and tagstrue
extractDatesExtract publication and update datestrue
allowedDomainsOptional hostname allowlistempty
includeEvidenceKeep evidence excerpts in rowstrue
includeRawSnapshotsStore raw accepted archive HTMLfalse
maxChargeUsdStop before the next event exceeds this amount15 USD maximum

Example:

{
"archiveUrls": ["https://blog.example/archive"],
"followPagination": true,
"maxDepth": 1,
"maxArchivePages": 2,
"maxArticles": 100,
"extractAuthors": true,
"extractTags": true,
"extractDates": true,
"allowedDomains": ["blog.example"],
"maxChargeUsd": 3
}

When pagination is enabled, only the first same-domain rel=next URL on an accepted page can enter the bounded queue. Other discovered links are not crawled. The Store default has no archive source and returns a nonempty source_required diagnostic.

Dataset output

Each dataset item has stable provenance plus archive fields:

  • archiveUrl identifies the page where the article record appeared;
  • articleUrl and articleTitle identify the linked content;
  • authorName, publishedDate, and updatedDate preserve visible or structured values;
  • categories and tags are arrays suitable for spreadsheet or database import;
  • paginationPage is an integer beginning at 1;
  • duplicateArticleUrl is set when the same resolved URL appeared previously;
  • archiveHealthIssue records missing evidence, duplicates, blocked sources, or source diagnostics;
  • issueCode, severity, evidenceSnippet, and recommendation explain what needs attention;
  • sourceUrl, canonicalUrl, httpStatus, and scannedAt preserve source context.

Turning an extraction toggle off returns the affected fields as null or empty arrays and prevents those omissions from being flagged. maxArticles is applied before dataset rows are produced.

Reports

With reports enabled, key-value storage receives:

  • a Markdown run summary;
  • a CSV with every article and diagnostic row;
  • a JSON issue list;
  • bounded evidence excerpts;
  • metadata with page counts, row counts, issue codes, pricing mode, and consumed input fields.

Raw archive HTML is opt-in and stored separately from ordinary reports.

Pay-per-event pricing

EventPrice (USD)When charged
actor-start0.0100after successful startup
archive-page-scanned0.0065once for each accepted archive source unit
taxonomy-record-extracted0.00295before a paid article/taxonomy row
archive-issue-emitted0.00295before a paid archive diagnostic or duplicate row
audit-report-generated0.0800before report artifacts are stored

Apify platform usage pass-through is off. Before an output row or report is written, the Actor verifies the next event fits within maxChargeUsd and that the charge was fully accepted.

Safety and limits

The fetcher accepts only public HTTP and HTTPS URLs. Loopback and private IPv4 targets are rejected. Domain allowlists, page caps, request timeouts, and bounded delays are applied before fetching. It does not bypass access controls or human-verification challenges; those sources produce diagnostics.

Archive markup varies. Client-rendered cards may require captured HTML from an authorized browser workflow. A missing field means it was not observed in the accepted source, not that the underlying article lacks it. Validate dates, author identity, canonical URLs, and taxonomy policy before a migration or bulk editorial change.