requestium
Decision gist · record as of 2026-08-14
Yes. Requestium is actively maintained, has low install friction, carries no known vulnerabilities, and solves a real problem—mixing HTTP and browser automation without session management headaches. It's useful even if you only use Requests or Selenium alone. The BSD license is permissive. Install it if you're automating web workflows that blend static and dynamic content.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a Selenium webdriver binary (e.g., Chromedriver) downloaded separately and passed via webdriver_path or driver parameter if using browser automation.
- Low install friction with a pure-Python wheel.
- Actively maintained with recent commits and a stable release history since 2017.
License · maintenance · safety
permissive license (permissive) — BSD 3-Clause License permits commercial and private use with minimal restrictions—you may use, modify, and distribute the code provided you retain the license notice and disclaimer.
last release 2026-01-19 (207 days) · last repo commit 2026-08-10 · 1,832 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 92,994 downloads/mo, #13,409 on PyPI
Alternatives
Verify before relying
from requestium import Session
s = Session(webdriver_path='./chromedriver', headless=True)
title = s.get('http://example.com').xpath('//title/text()').extract_first()
s.transfer_session_cookies_to_driver()
s.driver.ensure_element('xpath', '//button').ensure_click()- Whether the library's lazy evaluation of Selenium and parsing truly eliminates overhead in practice for HTTP-only workflows.
- Current compatibility with modern Selenium versions and whether all ensure_* methods work reliably across browser versions.
What it is and what it does
Requestium is a Python library that unifies HTTP requests, browser automation, and HTML parsing into a single session object. It lets you start with fast HTTP requests via Requests, switch to Selenium when you encounter JavaScript-heavy pages, and switch back—all while keeping cookies and session state intact. The library wraps Parsel's xpath, css, and regex methods directly onto responses, eliminating boilerplate parsing code.
The core use case is web automation scripts that are mostly HTTP-based but need occasional JavaScript execution. Instead of managing two separate tools and manually syncing cookies, you work with one Session object that handles both. Requestium also adds reliability improvements to Selenium—methods like ensure_element and ensure_click reduce flakiness when selecting and interacting with dynamically loaded elements, and ensure_add_cookie handles Selenium's finicky cookie domain requirements.
Use it for
- Scrape a site that loads content via AJAX by switching to Selenium only for the dynamic parts, then back to Requests for the rest.
- Test web applications that mix static HTML with JavaScript-rendered content, maintaining authentication cookies across both.
- Automate form submission and interaction on sites with client-side validation or dynamic element loading.
- Extract data using xpath or css selectors without writing separate parsing logic for Requests vs. Selenium responses.
- Develop web automation scripts incrementally by starting with Requests and adding Selenium only to the step you're currently debugging.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Requestium is actively maintained, has low install friction, carries no known vulnerabilities, and solves a real problem—mixing HTTP and browser automation without session management headaches. It's useful even if you only use Requests or Selenium alone. The BSD license is permissive. Install it if you're automating web workflows that blend static and dynamic content.
Install
requestium on PyPI
Before you install
Low install friction with a pure-Python wheel. Actively maintained with recent commits and a stable release history since 2017. Requires a separate Selenium webdriver (e.g., Chromedriver) if you plan to use the browser automation features, but the library itself installs cleanly.
Requires a Selenium webdriver binary (e.g., Chromedriver) downloaded separately and passed via webdriver_path or driver parameter if using browser automation.
License in practice
BSD 3-Clause License permits commercial and private use with minimal restrictions—you may use, modify, and distribute the code provided you retain the license notice and disclaimer.
Quickstart
from requestium import Session
s = Session(webdriver_path='./chromedriver', headless=True)
title = s.get('http://example.com').xpath('//title/text()').extract_first()
s.transfer_session_cookies_to_driver()
s.driver.ensure_element('xpath', '//button').ensure_click()
Verify before relying
- Whether the library's lazy evaluation of Selenium and parsing truly eliminates overhead in practice for HTTP-only workflows.
- Current compatibility with modern Selenium versions and whether all ensure_* methods work reliably across browser versions.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesparselrequestsseleniumtldextract |
| Maintenance | Actively maintained 207 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 92,994 / month, #13,409 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: OS IndependentOperating System :: POSIXProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Testing |
Evidence: requestium-0.5.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “web automation requests selenium”
- requestiumRequestium merges Requests, Selenium, and Parsel to automate web…
- DrissionPageDrissionPage is a Python web automation tool that controls…
- robotframework-seleniumtestabilitySeleniumTestability is a Robot Framework plugin that extends…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also requests-html · selenium · selenium-wire · Selenium-Screenshot · seletools · seleniumbase · axe-selenium-python · DrissionPage · uiautomator2 · splinter