---
title: SamplerV2 (v0.41)
description: API reference for qiskit_ibm_runtime.SamplerV2 in qiskit-ibm-runtime v0.41
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit-ibm-runtime/0.41/sampler-v2
---

# SamplerV2

*class* `SamplerV2(mode=None, options=None)`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.41/qiskit_ibm_runtime/sampler.py#L44-L125)

Bases: `BasePrimitiveV2`\[[`SamplerOptions`](/docs/api/qiskit-ibm-runtime/0.41/options-sampler-options "qiskit_ibm_runtime.options.sampler_options.SamplerOptions")], `Sampler`, [`BaseSamplerV2`](/docs/api/qiskit/qiskit.primitives.BaseSamplerV2)

Class for interacting with Qiskit Runtime Sampler primitive service.

This class supports version 2 of the Sampler interface, which uses different input and output formats than version 1.

Qiskit Runtime Sampler primitive returns the sampled result according to the specified output type. For example, it returns a bitstring for each shot if measurement level 2 (bits) is requested.

The [`run()`](#qiskit_ibm_runtime.SamplerV2.run "qiskit_ibm_runtime.SamplerV2.run") method can be used to submit circuits and parameters to the Sampler primitive.

Initializes the Sampler primitive.

**Parameters**

- **mode** (*Optional\[Union\[BackendV2,* [*Session*](/docs/api/qiskit-ibm-runtime/0.41/session "qiskit_ibm_runtime.Session")*,* [*Batch*](/docs/api/qiskit-ibm-runtime/0.41/batch "qiskit_ibm_runtime.Batch")*]]*) –

  The execution mode used to make the primitive query. It can be:

  - A `Backend` if you are using job mode.
  - A [`Session`](/docs/api/qiskit-ibm-runtime/0.41/session "qiskit_ibm_runtime.Session") if you are using session execution mode.
  - A [`Batch`](/docs/api/qiskit-ibm-runtime/0.41/batch "qiskit_ibm_runtime.Batch") if you are using batch execution mode.

  Refer to the [Qiskit Runtime documentation](/docs/guides/execution-modes). for more information about the `Execution modes`.

- **options** (*Optional\[Union\[Dict,* [*SamplerOptions*](/docs/api/qiskit-ibm-runtime/0.41/options-sampler-options "qiskit_ibm_runtime.options.SamplerOptions")*]]*) – Sampler options, see `SamplerOptions` for detailed description.

## Attributes

### mode

Return the execution mode used by this primitive.

**Returns**

Mode used by this primitive, or `None` if an execution mode is not used.

### options

Type: `SamplerOptions`

Return options

### version

Default value: `2`

## Methods

### backend

`backend()`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.41/qiskit_ibm_runtime/base_primitive.py#L217-L219)

Return the backend the primitive query will be run on.

**Return type**

[*BackendV2*](/docs/api/qiskit/qiskit.providers.BackendV2)

### run

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

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.41/qiskit_ibm_runtime/sampler.py#L89-L111)

Submit a request to the sampler primitive.

**Parameters**

- **pubs** (*Iterable\[SamplerPubLike]*) – An iterable of pub-like objects. For example, a list of circuits or tuples `(circuit, parameter_values)`.
- **shots** (*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**

Submitted job. The result of the job is an instance of `qiskit.primitives.containers.PrimitiveResult`.

**Raises**

**ValueError** – Invalid arguments are given.

**Return type**

[RuntimeJobV2](/docs/api/qiskit-ibm-runtime/0.41/runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2")
