# API Reference


## Classes


Core classes


[Amazon](Amazon.md#oxyscraper.Amazon)  
An `amazon` job, which scrapes an Amazon URL.

[AmazonBestsellers](AmazonBestsellers.md#oxyscraper.AmazonBestsellers)  
An `amazon_bestsellers` job, which scrapes the Best Sellers page of one browse node.

[AmazonPricing](AmazonPricing.md#oxyscraper.AmazonPricing)  
An `amazon_pricing` job, which scrapes the offers of one product.

[AmazonProduct](AmazonProduct.md#oxyscraper.AmazonProduct)  
An `amazon_product` job, which scrapes one product page.

[AmazonSearch](AmazonSearch.md#oxyscraper.AmazonSearch)  
An `amazon_search` job, which scrapes the results of one search.

[AmazonSellers](AmazonSellers.md#oxyscraper.AmazonSellers)  
An `amazon_sellers` job, which scrapes one seller's page.

[Payload](Payload.md#oxyscraper.Payload)  
One job's body, for any source.

[Universal](Universal.md#oxyscraper.Universal)  
A `universal` job, which scrapes any URL.

[AsyncRun](AsyncRun.md#oxyscraper.AsyncRun)  
The jobs of one `AsyncSession.stream` call, each as it finishes.

[AsyncSession](AsyncSession.md#oxyscraper.AsyncSession)  
Submit payloads and fetch their jobs inside an `async with` block, on asyncio or trio.

[Run](Run.md#oxyscraper.Run)  
The jobs of one run, each as it finishes.

[Session](Session.md#oxyscraper.Session)  
Submit payloads and fetch their jobs from sync code, inside a `with` block.


## Dataclasses


Data-holding classes


[DryRun](DryRun.md#oxyscraper.DryRun)  
The jobs a run would submit.

[Job](Job.md#oxyscraper.Job)  
One job and its results.

[Progress](Progress.md#oxyscraper.Progress)  
The number of a run's payloads in each state, at one moment.

[Rejection](Rejection.md#oxyscraper.Rejection)  
The error that the API returned for a payload instead of a job, so nothing billed.

[Result](Result.md#oxyscraper.Result)  
One page of a job's results, in one output type.

[Upload](Upload.md#oxyscraper.Upload)  
A job's Cloud Storage upload.


## Exceptions


Exception classes


[IncompleteRunError](IncompleteRunError.md#oxyscraper.IncompleteRunError)  
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](OxylabsError.md#oxyscraper.OxylabsError)  
One error response from the API, or a network failure that lasted past the retry limit.


## Functions


Public functions


[dry_run()](dry_run.md#oxyscraper.dry_run)  
List the jobs that a run of `payloads` would submit, and the most results they can bill.


## Constants


Module-level constants and data


[SOURCES](SOURCES.md#oxyscraper.SOURCES)  
The source models that a billed run has checked; every other source runs through `Payload`.

[BrowserInstruction](BrowserInstruction.md#oxyscraper.BrowserInstruction)  
One item of `browser_instructions`, whose `type` names one of the 7 documented instructions.

[ParsingFunction](ParsingFunction.md#oxyscraper.ParsingFunction)  
One item of a `_fns` pipeline, whose `_fn` names one of the 20 documented functions.

[ParsingInstructions](ParsingInstructions.md#oxyscraper.ParsingInstructions)  
One scope of parsing instructions, which holds a `_fns` pipeline, `_on_error`, and `_items` and fields that are scopes of their own.
