A Python library for simplified HTTP requests, featuring rate limiting, browser-like headers, and automatic retries. Built on the official requests library for reliability.
- Save responses to cache
- Use any session (e.g., bypass Cloudflare using cloudscraper)
- Configurable wait between requests without thread blocking
- Automatic retries for failed requests
pip install easy-requestsfrom easy_requests import Connection, init_cache
init_cache(".cache")
connection = Connection()
# to generate headers that mimic the browser
connection.generate_headers()
response = connection.get("https://example.com")from easy_requests import Connection
import cloudscraper
connection = Connection(cloudscraper.create_scraper())
response = connection.get("https://example.com")This won't use caching without you configuring it.
You can configure the default cache either with environment variables or using init_cache. The env keys are EASY_REQUESTS_CACHE_DIR and EASY_REQUESTS_CACHE_EXPIRES (in days).
from easy_requests import init_cache
init_cache(".cache")Alternatively you can pass arguments into Connection(...) and the request function:
cache_enabled: Optional[bool]cache_directory: Optional[str]cache_expires_after: Optional[timedelta]
from easy_requests import Connection
Connection(
cache_enabled = True
)If you pass in cache_enabled=True it will raise a Value error if no cache directory was found.