# oxyscraper > Unofficial Python library and CLI for the Oxylabs Web Scraper API. ## Docs ### API Reference #### Classes > Core classes - [Amazon](https://ozanozbeker.com/oxyscraper/reference/Amazon.html): An `amazon` job, which scrapes an Amazon URL - [AmazonBestsellers](https://ozanozbeker.com/oxyscraper/reference/AmazonBestsellers.html): An `amazon_bestsellers` job, which scrapes the Best Sellers page of one browse node - [AmazonPricing](https://ozanozbeker.com/oxyscraper/reference/AmazonPricing.html): An `amazon_pricing` job, which scrapes the offers of one product - [AmazonProduct](https://ozanozbeker.com/oxyscraper/reference/AmazonProduct.html): An `amazon_product` job, which scrapes one product page - [AmazonSearch](https://ozanozbeker.com/oxyscraper/reference/AmazonSearch.html): An `amazon_search` job, which scrapes the results of one search - [AmazonSellers](https://ozanozbeker.com/oxyscraper/reference/AmazonSellers.html): An `amazon_sellers` job, which scrapes one seller's page - [Payload](https://ozanozbeker.com/oxyscraper/reference/Payload.html): One job's body, for any source - [Universal](https://ozanozbeker.com/oxyscraper/reference/Universal.html): A `universal` job, which scrapes any URL - [AsyncRun](https://ozanozbeker.com/oxyscraper/reference/AsyncRun.html): The jobs of one `AsyncSession.stream` call, each as it finishes - [AsyncSession](https://ozanozbeker.com/oxyscraper/reference/AsyncSession.html): Submit payloads and fetch their jobs inside an `async with` block, on asyncio or trio - [Run](https://ozanozbeker.com/oxyscraper/reference/Run.html): The jobs of one run, each as it finishes - [Session](https://ozanozbeker.com/oxyscraper/reference/Session.html): Submit payloads and fetch their jobs from sync code, inside a `with` block #### Dataclasses > Data-holding classes - [DryRun](https://ozanozbeker.com/oxyscraper/reference/DryRun.html): The jobs a run would submit - [Job](https://ozanozbeker.com/oxyscraper/reference/Job.html): One job and its results - [Progress](https://ozanozbeker.com/oxyscraper/reference/Progress.html): The number of a run's payloads in each state, at one moment - [Rejection](https://ozanozbeker.com/oxyscraper/reference/Rejection.html): The error that the API returned for a payload instead of a job, so nothing billed - [Result](https://ozanozbeker.com/oxyscraper/reference/Result.html): One page of a job's results, in one output type - [Upload](https://ozanozbeker.com/oxyscraper/reference/Upload.html): A job's Cloud Storage upload #### Exceptions > Exception classes - [IncompleteRunError](https://ozanozbeker.com/oxyscraper/reference/IncompleteRunError.html): The error a run raises after its last job, when a payload ended with no done or faulted job, an upload failed, or a failure stopped the run - [OxylabsError](https://ozanozbeker.com/oxyscraper/reference/OxylabsError.html): One error response from the API, or a network failure that lasted past the retry limit #### Functions > Public functions - [dry_run](https://ozanozbeker.com/oxyscraper/reference/dry_run.html): List the jobs that a run of `payloads` would submit, and the most results they can bill #### Constants > Module-level constants and data - [SOURCES](https://ozanozbeker.com/oxyscraper/reference/SOURCES.html): Built-in immutable sequence - [BrowserInstruction](https://ozanozbeker.com/oxyscraper/reference/BrowserInstruction.html): Runtime representation of an annotated type - [ParsingFunction](https://ozanozbeker.com/oxyscraper/reference/ParsingFunction.html): Represent a PEP 604 union type - [ParsingInstructions](https://ozanozbeker.com/oxyscraper/reference/ParsingInstructions.html): Create named, parameterized type aliases