Plain-Text Stripper avatar

Plain-Text Stripper

Pricing

from $20.00 / 1,000 strip job completeds

Go to Apify Store
Plain-Text Stripper

Plain-Text Stripper

Strip web pages (or pasted text/markdown) down to clean raw text: HTML tags, scripts, styles, markdown artifacts, and excess whitespace removed. One dataset record per page plus a job summary. Ideal for building LLM-ready corpora and content pipelines.

Pricing

from $20.00 / 1,000 strip job completeds

Rating

0.0

(0)

Developer

Luqin Wang

Luqin Wang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Strip web pages — or pasted text/markdown — down to clean raw text. HTML tags, scripts, styles, comments, markdown artifacts, and excess whitespace are removed; what survives is the page's own words in reading order. Ideal for building LLM-ready corpora, content pipelines, and readability preprocessing.

Input

Source priority: rawText > urlsFile > urlsUrl > urlsText. The highest-priority non-empty source wins.

FieldDescription
rawTextPaste raw text or markdown to strip directly, without fetching any URL.
urlsTextPaste one URL per line (prefill: https://example.com).
urlsUrlPublic URL of a text file with one URL per line.
urlsFileUpload a text file (apify:// key-value-store reference).
timeoutSecPer-page fetch timeout, 5–60s (default 20).
maxUrlsMax pages per run, 1–2000 (default 500).

Output

  • Dataset — one record per stripped page/text: url, finalUrl, status, text, charCount, wordCount, truncated, error, checkedAt, plus stable _recordId / _batchId / _seq reconciliation IDs. Exportable as CSV/JSON.
  • SUMMARY.json (key-value store) — itemsPublished, pagesRequested, pagesProcessed, pageErrors, chargeLimitReached, unitsCharged. Aggregates confirmed publications only.
  • Job receipt — one job-completion record published after all page records when at least one page was published.

Non-text content (PDFs, images, …) gets an explanatory error record instead of text. Error records are published like any other page record and count toward page-stripped: the fetch and classification work was done. pageErrors in SUMMARY tracks how many.

Billing (pay-per-event)

EventPrice
strip-completed$0.02 per job (primary)
page-stripped$0.001 per page

Publish-then-charge: each batch of records is published to the dataset first; only confirmed publications are ever charged, through persisted idempotency keys that are reused verbatim across retries and restarts. A crash between publication and charging leaves published-but-uncharged records (accepted revenue leak, never the reverse) — charging for undelivered work is impossible by construction.

Safety

  • SSRF-resistant fetching: DNS is resolved and pinned before connect; private/loopback/link-local targets are refused; redirects are followed manually (max 5) and re-validated per hop.
  • Hard deadlines on every fetch, key-value-store access, and the publication boundary; the single-attempt raw POST boundary means one push is exactly one POST.
  • Fail-closed billing: unknown pricing state, unvalidated event names, unconfirmed publication, or an ambiguous charge outcome all stop the run rather than risk a wrong bill.