← All reviews
Certificate ID
RV-13
Published
30 May 2026
Founder-tested

adbar / trafilatura

Tested by @balajiloganathan. Reviewed by RepoVerifier.

One run, on one machine, by the tester named above. Your results may differ on a different setup.

6000 GitHub stars at review

Result: Solid

01 Claim tested

Claims clean main-content extraction from any web page in three lines of Python, no API key or server. Install was clean and the markdown output was LLM-ready.

02 Measurements

Criteria as recorded for this run.
CriterionRecorded
Install workstrue
Claim Testabletrue
Readme Accuratetrue
Creator Notifiedfalse
Errors Documentedtrue
Claim Tested Clean Envtrue
Verdict Matches Evidencetrue

Recorded before the five-criterion scorecard.

03 Environment

os
macOS M-series
user
repoverifiertest
docker
false
python
3.13
api_key
false
install_method
pip3 install trafilatura

As reported by the tester.

The version of the repo tested is recorded only if the tester listed it.

04 Observations

trafilatura is a Python library and CLI tool that extracts clean main content from web pages and returns it as plain text or markdown. No API key, no Docker, no server — just pip install and three lines of Python. The claim holds — install is clean, URL fetch works, markdown output is LLM-ready, and boilerplate is correctly stripped.

What Was Tested

Python library mode — the documented path for content extraction.

Environment:

  • macOS M-series
  • Python 3.13
  • repoverifiertest user (clean environment)
  • pip3 install trafilatura — no virtual environment needed

Install

pip3 install trafilatura

Clean install. No errors. No dependency conflicts on Python 3.13.

What Worked

Plain text extraction:

import trafilatura
downloaded = trafilatura.fetch_url('https://en.wikipedia.org/wiki/Python_(programming_language)')
text = trafilatura.extract(downloaded)
Returned clean article content. Navigation, sidebars, and boilerplate correctly stripped.

Markdown output:

text = trafilatura.extract(downloaded, output_format='markdown')
Returned structured markdown with headers, bold text, and tables preserved — directly usable as LLM context.

Real article extraction:

downloaded = trafilatura.fetch_url('https://paulgraham.com/writes.html')
text = trafilatura.extract(downloaded, output_format='markdown')
# LENGTH: 3121
Full article extracted cleanly. No noise.

Honest Findings

Returns None on paywalled pages: TechCrunch article pages returned None. This is correct behavior — trafilatura does not bypass paywalls or render JavaScript.

Homepage extraction is minimal by design: TechCrunch homepage returned 517 characters — only content trafilatura was confident was "main content." Navigation teasers and promotional blocks were correctly excluded. This is the intended behavior for an LLM pipeline — you scrape article URLs, not homepages.

Works best on: open, text-based pages — blogs, documentation, Wikipedia, research articles, product pages.

Does not work on: paywalled content, JavaScript-rendered SPAs, pages requiring authentication.

What Was Not Tested

  • CLI mode (trafilatura -u "https://...")
  • Crawling mode (sitemap + batch processing)
  • Metadata extraction (trafilatura[metadata])
  • XML/CSV output formats

Verdict: SOLID

The core claim — extract main text from web pages into LLM-ready format — works exactly as documented. Three-line install, three-line usage. No API key, no server, no Docker. Runs natively on macOS with Python 3.13.

05 Evidence

Founder's own run.

For maintainers: README badge

Shows this result and its publish month. Links back to this record.

RepoVerifier: SOLID
[![RepoVerifier: SOLID](https://repoverifier.dev/reviews/adbar-trafilatura/badge.svg)](https://repoverifier.dev/reviews/adbar-trafilatura)
<a href="https://repoverifier.dev/reviews/adbar-trafilatura"><img src="https://repoverifier.dev/reviews/adbar-trafilatura/badge.svg" alt="RepoVerifier: SOLID" height="20"></a>

Paste this in your repo’s README. Links back to the full review.

This review follows RepoVerifier Standard v1.0. Read the standard →