<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: artmcclellan2521995-sys</title>
    <description>The latest articles on DEV Community by artmcclellan2521995-sys (@artmcclellan2521995sys).</description>
    <link>https://dev.to/artmcclellan2521995sys</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4145010%2F93c62d10-e616-406a-95a8-583772b8cce0.png</url>
      <title>DEV Community: artmcclellan2521995-sys</title>
      <link>https://dev.to/artmcclellan2521995sys</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/artmcclellan2521995sys"/>
    <language>en</language>
    <item>
      <title>How to Scrape Behind Cloudflare with 0 API Keys: Pay-Per-Query on Base L2 (x402)</title>
      <dc:creator>artmcclellan2521995-sys</dc:creator>
      <pubDate>Sun, 27 Sep 2026 03:03:20 +0000</pubDate>
      <link>https://dev.to/artmcclellan2521995sys/how-to-scrape-behind-cloudflare-with-0-api-keys-pay-per-query-on-base-l2-x402-56me</link>
      <guid>https://dev.to/artmcclellan2521995sys/how-to-scrape-behind-cloudflare-with-0-api-keys-pay-per-query-on-base-l2-x402-56me</guid>
      <description>&lt;p&gt;Every developer building an AI agent or LLM pipeline eventually hits the same roadblock:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need clean Markdown from a Cloudflare-protected page.&lt;/li&gt;
&lt;li&gt;Traditional scrapers get blocked immediately.&lt;/li&gt;
&lt;li&gt;Commercial scraping APIs force a $50/mo minimum subscription and credit card KYC just to test 10 pages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is how to extract protected pages using &lt;strong&gt;HTTP 402 (Payment Required)&lt;/strong&gt; and instant Base L2 micropayments.&lt;/p&gt;




&lt;h3&gt;
  
  
  Specifications
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Protocol&lt;/strong&gt;: HTTP 402 with on-chain verification&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network&lt;/strong&gt;: Base Mainnet (Chain ID 8453)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost&lt;/strong&gt;: 0.05 USDC per extraction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Settlement Token&lt;/strong&gt;: USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gateway Wallet&lt;/strong&gt;: 0x379B6643675421867f8436513826781748Ec8329&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gateway Endpoint&lt;/strong&gt;: &lt;a href="https://agentfi-gatewaye.onrender.com/v1/extract" rel="noopener noreferrer"&gt;https://agentfi-gatewaye.onrender.com/v1/extract&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  How to Call (cURL)
&lt;/h3&gt;

&lt;p&gt;Once you send 0.05 USDC on Base to the gateway wallet, pass the transaction hash in &lt;code&gt;x-402-signature&lt;/code&gt;:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
curl -X POST [https://agentfi-gatewaye.onrender.com/v1/extract](https://agentfi-gatewaye.onrender.com/v1/extract) \
  -H "Content-Type: application/json" \
  -H "x-402-signature: &amp;lt;YOUR_BASE_TX_HASH&amp;gt;" \
  -d '{"url": "[https://example.com](https://example.com)"}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>webscraping</category>
      <category>python</category>
      <category>web3</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
