Metadata-Version: 2.4
Name: oxyscraper
Version: 0.1.0
Summary: Unofficial Python library and CLI for the Oxylabs Web Scraper API.
Keywords: oxylabs,scraping,web-scraper-api
Author: Ozan Ozbeker
Author-email: Ozan Ozbeker <github@ozanozbeker.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Typing :: Typed
Requires-Dist: anyio>=4.10.0
Requires-Dist: httpx2[http2]>=2.12.0
Requires-Dist: obstore>=0.4.0
Requires-Dist: pydantic>=2.7.0
Requires-Dist: typing-extensions>=4.6.1
Requires-Dist: rich>=13.8.0 ; extra == 'cli'
Requires-Dist: typer>=0.26.0 ; extra == 'cli'
Requires-Python: >=3.11
Project-URL: Changelog, https://ozanozbeker.com/oxyscraper/changelog.html
Project-URL: Documentation, https://ozanozbeker.com/oxyscraper/
Project-URL: Issues, https://github.com/ozanozbeker/oxyscraper/issues
Project-URL: Repository, https://github.com/ozanozbeker/oxyscraper
Provides-Extra: cli
Description-Content-Type: text/markdown

# oxyscraper

[![CI](https://github.com/ozanozbeker/oxyscraper/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/ozanozbeker/oxyscraper/actions/workflows/ci.yml) [![Codecov](https://codecov.io/gh/ozanozbeker/oxyscraper/graph/badge.svg)](https://codecov.io/gh/ozanozbeker/oxyscraper) [![PyPI](https://img.shields.io/pypi/v/oxyscraper)](https://pypi.org/project/oxyscraper/) [![Python](https://img.shields.io/pypi/pyversions/oxyscraper)](https://pypi.org/project/oxyscraper/) [![Typed](https://img.shields.io/pypi/types/oxyscraper)](https://pypi.org/project/oxyscraper/) [![License](https://img.shields.io/pypi/l/oxyscraper)](https://github.com/ozanozbeker/oxyscraper/blob/main/LICENSE) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv) [![prek](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json)](https://github.com/j178/prek) [![pyrefly](https://img.shields.io/badge/types-pyrefly-blue)](https://github.com/facebook/pyrefly) [![Built with Claude Code](https://img.shields.io/badge/Built_with-Claude_Code-D97757?logo=claude&logoColor=white)](https://claude.com/claude-code)

Unofficial Python library and CLI for the Oxylabs Web Scraper API.

## Install

Install the library:

```sh
uv add oxyscraper
```

Install the `oxy` command:

```sh
uv tool install 'oxyscraper[cli]'
```

## Credentials

The library and the CLI call the Web Scraper API (Classic), which takes the username and password of an API user.
The Oxylabs docs lead with their newer Web API, and a new account may hold only a Web API key.
The Classic API returns 401 for that key.

---

oxyscraper is not affiliated with or endorsed by Oxylabs.
Oxylabs and Oxy are trademarks of Oxylabs.
