---
title: BackendSamplerV2 (latest version)
description: API reference for qiskit.primitives.BackendSamplerV2 in the latest version of qiskit
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/qiskit.primitives.BackendSamplerV2
---

# BackendSamplerV2

*class* `qiskit.primitives.BackendSamplerV2(*, backend, options=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.5/qiskit/primitives/backend_sampler_v2.py#L82-L269)

Bases: [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2 "qiskit.primitives.base.base_sampler.BaseSamplerV2")

Evaluates bitstrings for provided quantum circuits

The [`BackendSamplerV2`](#qiskit.primitives.BackendSamplerV2 "qiskit.primitives.BackendSamplerV2") class is a generic implementation of the [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") interface that is used to wrap a [`BackendV2`](/docs/api/qiskit/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") object in the class [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") API. It facilitates using backends that do not provide a native [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") implementation in places that work with [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2"). However, if you’re using a provider that has a native implementation of [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2"), it is a better choice to leverage that native implementation as it will likely include additional optimizations and be a more efficient implementation. The generic nature of this class precludes doing any provider- or backend-specific optimizations.

This class does not perform any measurement or gate mitigation.

Each tuple of `(circuit, <optional> parameter values, <optional> shots)`, called a sampler primitive unified bloc (PUB), produces its own array-valued result. The [`run()`](#qiskit.primitives.BackendSamplerV2.run "qiskit.primitives.BackendSamplerV2.run") method can be given many pubs at once.

The options for [`BackendSamplerV2`](#qiskit.primitives.BackendSamplerV2 "qiskit.primitives.BackendSamplerV2") consist of the following items.

- `default_shots`: The default shots to use if none are specified in [`run()`](#qiskit.primitives.BackendSamplerV2.run "qiskit.primitives.BackendSamplerV2.run"). Default: 1024.
- `seed_simulator`: The seed to use in the simulator. If None, a random seed will be used. Default: None.
- `run_options`: A dictionary of options to pass through to the `run()` method of the wrapped [`BackendV2`](/docs/api/qiskit/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") instance.

> **Note**
>
> This class requires a backend that supports `memory` option.

**Parameters**

- **backend** ([*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2 "qiskit.providers.BackendV2")) – The backend to run the primitive on.
- **options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict) *| None*) – The options to control the default shots (`default_shots`) and the random seed for the simulator (`seed_simulator`).

## Attributes

### backend

Returns the backend which this sampler object is based on.

### options

Return the options

## Methods

### run

`run(pubs, *, shots=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.5/qiskit/primitives/backend_sampler_v2.py#L145-L154)

Run and collect samples from each pub.

**Parameters**

- **pubs** ([*Iterable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Iterable)*\[TypeAliasForwardRef('SamplerPubLike')]*) – An iterable of pub-like objects. For example, a list of circuits or tuples `(circuit, parameter_values)`.
- **shots** ([*int*](https://docs.python.org/3/library/functions.html#int) *| None*) – The total number of shots to sample for each sampler pub that does not specify its own shots. If `None`, the primitive’s default shots value will be used, which can vary by implementation.

**Returns**

The job object of Sampler’s result.

**Return type**

[*PrimitiveJob*](/docs/api/qiskit/qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[*PrimitiveResult*](/docs/api/qiskit/qiskit.primitives.PrimitiveResult "qiskit.primitives.containers.primitive_result.PrimitiveResult")\[[*SamplerPubResult*](/docs/api/qiskit/qiskit.primitives.SamplerPubResult "qiskit.primitives.containers.sampler_pub_result.SamplerPubResult")]]
