agentsclimarketplace

Paywall bypass skill

Skill Lunatic16/paywall-bypass-skill

Identify paywall types and generate bypass strategies for web scraping and content extraction.

Install
npx -y skills add Lunatic16/paywall-bypass-skill

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Identify paywall types and generate bypass strategies for web scraping and content extraction. Covers 500+ news sites, major paywall providers (Piano, TinyPass, Poool, etc.), and extraction techniques (bot spoofing, AMP, JSON-LD, archive fetching).

SKILL.md

8.7 KB, as published. Nobody here has run it

Paywall Bypass Helper

Identify paywall provider types and generate bypass strategies for web scraping, content extraction, and research across 500+ news sites.

Use this skill when

  • The user asks to "bypass paywall", "extract article content", or "get full text" from a paywalled URL
  • The user needs to scrape or research content from news sites with subscription walls
  • The user asks what paywall technology a specific site uses
  • The user needs to write scripts that handle paywalled content programmatically
  • The user asks about cookie behavior that triggers or avoids paywalls

Do not use this skill when

  • The task involves cracking DRM, decrypting encrypted content, or circumventing hard encryption
  • The user requests illegal access to credentials or personal data
  • The target is a non-paywall access control (login-only portals, intranets)
  • The user wants to distribute full paywalled content commercially

How paywalls work

Paywalls generally work through one of these mechanisms:

  1. Metered paywalls — track article views via cookies/localStorage; after N free articles, block access
  2. Hard paywalls — content is loaded but hidden behind CSS/JS overlay; blocking the JS reveals text
  3. Server-side paywalls — content is not sent to the browser; requires external fetching (archive, cache, bot UA)
  4. Hybrid paywalls — combination of client-side blocking + server-side checks

Paywall provider identification

To identify which paywall provider a site uses, inspect the page source for these signatures:

ProviderDetection Script/PatternSites Using
Piano.io.piano.io/, .piano.io/xbuilder/Foreign Policy, DN.no, Funke, Vocento, Berlingske
TinyPass (Piano).tinypass.com/, js.tinypass.comChicago Sun-Times, Fortune, Adweek, Corriere.it, Digiday
Poool.fr.poool.fr/Alternatives Economiques, Challenges, Elle.fr, Le Télégramme, GCF group
Sophi.io.sophi.io/Adweek, Automobilwoche, Business Insider, Crain Comm
Evolok.evolok.net/El País, Vocento group, Leaky Paywall
Qiota.qiota.com/AutoPlus.fr, Cosmopolitan.fr, Nice-Matin group, Rossel group
Pelcrojs.pelcro.com/Domani, Foreign Affairs, Crain Comm
Cxense.cxense.com/Barron's, Business Insider JP, IPM group
Blueconic.blueconic.net/Bridge Tower Media
Memberstack[data-memberstack-app]Various SaaS-gated sites
Steadysteadyhq.com/American Purpose, some Ghost sites
Leaky Paywall/leaky-paywall/WordPress sites with Leaky plugin
Wallkitwallkit.netWordPress subscription sites
AMP Access.ampproject.org/v0/amp-access-, .ampproject.org/v0/amp-subscriptions-Many sites with AMP versions

For a complete list of patterns, see references/paywall-patterns.md.

Bypass technique decision tree

Step 1: Identify the paywall type

Check page source for:
  1. Scripts matching known paywall providers (table above)
  2. Cookie names (TDNotesRead, TID_ID, ra, blaize_session, etc.)
  3. AMP version availability (<link rel="amphtml">)
  4. JSON-LD article data (script[type="application/ld+json"])
  5. CSS class patterns (paywall, overlay, modal, gated)

Step 2: Choose bypass technique

TechniqueWhen to useHow
Block paywall scriptScript-based paywall (TinyPass, Piano, Poool, etc.)Block the script URL; content loads but paywall overlay doesn't trigger
Clear cookiesMetered paywall tracking viewsRemove tracking cookies; localStorage.clear() + sessionStorage.clear()
Bot UA spoofingServer serves full content to crawlersSet User-Agent to Googlebot/Bingbot; add Referer: https://www.google.com/
AMP pageSite has AMP version with relaxed paywallNavigate to AMP URL or unhide content blocked by amp-access/amp-subscriptions
JSON-LD extractionArticle body in structured dataParse script[type="application/ld+json"] for articleBody key
Archive fetchServer-side paywall, no client-side textFetch article from archive.is or Google cache
Next.js dataSites using Next.js SSRExtract from script#__NEXT_DATA__
External linkNo bypass possible client-sideGenerate link to archive.is or Google Search Tool for manual fetch

Step 3: Implement bypass

For each technique, see references/content-extraction.md for implementation details including code patterns, selectors, and fallback strategies.

Cookie management per provider

Different paywall providers use different cookies to track access:

ProviderTracking Cookie(s)Action
Piano (general)None specificBlock script, no cookie action needed
TinyPass (Piano)xbc (HBR)Drop specific cookie
DPG Media (NL)TID_IDDrop this cookie to reset meter
Haaretz GroupraDrop this cookie
Adweek/Zephrblaize_sessionDrop this cookie
Pitchforkpay_ent_msmpDrop this cookie
Business StandarduserUidDrop this cookie
eNotesENOTESIDDrop this cookie
DN Media (no)AnonUserCookieDrop this cookie

Important: Some sites require cookies to be preserved (e.g., authentication-based bypass). Check references/cookie-rules.md for per-site rules.

Common media groups

Many news sites share paywall infrastructure. Identifying the media group simplifies bypass:

GroupKey SitesPaywall Type
News Corp Australiatheaustralian.com.au, heraldsun.com.au, dailytelegraph.com.auAMP subscriptions + hard paywall
McClatchy (USA)bnd.com, miamiherald.com, sacbee.com, kansascity.comPiano + Googlebot
Gannettazcentral.com, freep.com, indystar.comGooglebot UA
Hearst (USA)houstonchronicle.com, sfchronicle.com, statesman.comCustom script blocking
Lee Enterprisestownnews.com-based sitesTownNews/Leaky paywall
Vocento (ES)abc.es, elmundo.es (not), larioja.com, ideal.esEvolok + AMP access
GEDI (IT)repubblica.it, lastampa.it, huffingtonpost.itPiano + Googlebot
DPG Media (NL)volkskrant.nl, trouw.nl, demorgen.beCustom temptation.js
Groupe Rossel (FR/BE)lavoixdunord.fr, lesoir.be, sudinfo.beQiota
Funke (DE)abendblatt.de, morgenpost.de, waz.dePiano
Crain Comm (USA)adage.com, autonews.com, chicagobusiness.comPelcro + Sophi
DN Media (NO)dn.no, rechargenews.com, upstreamonline.comCustom + fetch from archive
Conde Nast (USA)newyorker.com, vogue.com, wired.com, gq.comCustom + script blocking
Advance Local (USA)nj.com, mlive.com, cleveland.com, al.comSophi + DOMPurify

Implementation guidelines

When writing a scraper/bypass script

  1. Always inspect first — check page source for paywall scripts before attempting bypass
  2. Start with the least invasive technique — cookie clear > script block > UA spoof > external fetch
  3. Handle JavaScript-rendered content — many modern sites use React/Next.js; use Puppeteer/Playwright if needed
  4. Respect rate limits — do not hammer servers with requests; add delays between fetches
  5. Use headless browsers for JS-rendered paywalls — some paywalls only trigger after JS execution
  6. Validate output — verify extracted text is complete, not truncated teaser content

When analyzing a new/unlisted site

  1. Check for AMP version: <link rel="amphtml" href="...">
  2. Search for paywall scripts: .piano., .tinypass., .poool., .sophi., .evolok., .qiota.
  3. Check localStorage keys for meter tracking
  4. Try Googlebot UA: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  5. Check for JSON-LD: script[type="application/ld+json"] with articleBody
  6. Try archive.is as fallback

References

  • references/paywall-patterns.md — Complete regex patterns for all paywall providers
  • references/content-extraction.md — JSON-LD, AMP, archive.is, Next.js extraction methods
  • references/cookie-rules.md — Per-site cookie management rules

Examples

  • examples/identify-paywall.md — Walkthrough for detecting paywall type from HTML source
  • examples/bypass-strategy.md — Step-by-step bypass recipe for a specific site

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.