API Reference & Drop-in SDKs

The Parse Everything API provides single and batch HTTP extraction endpoints designed to solve Cloudflare Turnstile, Akamai Bot Manager, and DataDome protections automatically.

Authentication

Authorization: Bearer pe_live_YOUR_API_KEY_HERE

Batch Extraction API (POST /v1/batch)

Extract up to 50 URLs in parallel in a single HTTP request payload.

curl -X POST https://api.parse-everything.com/v1/batch \
  -H "Authorization: Bearer pe_live_YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "target_urls": [
      "https://example.com/product/1",
      "https://example.com/product/2",
      "https://example.com/product/3"
    ]
  }'

Drop-in Python Client SDK

Copy this Python wrapper directly into your project codebase:

parse_everything_sdk.py
import requests

class ParseEverythingClient:
    def __init__(self, api_key: str, base_url: str = "https://api.parse-everything.com/v1"):
        self.api_key = api_key
        self.base_url = base_url
        self.headers = {
            "Authorization": f"Bearer {self.api_key}",
            "Content-Type": "application/json"
        }

    def extract(self, target_url: str, bypass_cloudflare: bool = True, country_code: str = "US") -> dict:
        url = f"{self.base_url}/extract"
        payload = {
            "target_url": target_url,
            "bypass_cloudflare": bypass_cloudflare,
            "country_code": country_code
        }
        res = requests.post(url, json=payload, headers=self.headers)
        res.raise_for_status()
        return res.json()

    def extract_batch(self, target_urls: list) -> dict:
        url = f"{self.base_url}/batch"
        res = requests.post(url, json={"target_urls": target_urls}, headers=self.headers)
        res.raise_for_status()
        return res.json()

# Usage Example:
# client = ParseEverythingClient("pe_live_YOUR_API_KEY")
# result = client.extract("https://example.com/protected-page")
# print(result['data']['html_sample'])