How-to: Access devices on Amazon Braket

In order to get access to Amazon Braket devices through Qiskit you can use the BraketProvider, which gives you a view of all available backends.

[1]:
from pprint import pprint

from qiskit_braket_provider import BraketProvider
[2]:
provider = BraketProvider()

Exploring all backends with the Braket provider

[3]:
backends = provider.backends()
backends
[3]:
[BraketBackend[Ankaa-3],
 BraketBackend[Aria 1],
 BraketBackend[Emerald],
 BraketBackend[Forte 1],
 BraketBackend[Forte Enterprise 1],
 BraketBackend[Garnet],
 BraketBackend[IBEX Q1],
 BraketBackend[SV1],
 BraketBackend[TN1],
 BraketBackend[dm1]]
[4]:
for backend in backends:
    pprint(
        {
            "name": backend.name,
            "description": backend.description,
            "online date": backend.online_date,
            "number of qubits": backend.num_qubits,
            "operations": backend.operations[:5],
            "backend version": backend.version,
        }
    )
{'backend version': 2,
 'description': 'AWS Device: Rigetti Ankaa-3.',
 'name': 'Ankaa-3',
 'number of qubits': 82,
 'online date': datetime.datetime(2025, 12, 5, 23, 9, 47, tzinfo=datetime.timezone.utc),
 'operations': [Instruction(name='x', num_qubits=1, num_clbits=0, params=[]),
                Instruction(name='sx', num_qubits=1, num_clbits=0, params=[]),
                Instruction(name='sxdg', num_qubits=1, num_clbits=0, params=[]),
                Instruction(name='rz', num_qubits=1, num_clbits=0, params=[Parameter(theta)]),
                Instruction(name='iswap', num_qubits=2, num_clbits=0, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: IonQ Aria 1.',
 'name': 'Aria 1',
 'number of qubits': 25,
 'online date': datetime.datetime(2025, 9, 1, 0, 0, tzinfo=datetime.timezone.utc),
 'operations': [Instruction(name='gpi', num_qubits=1, num_clbits=0, params=[<qiskit._accelerate.circuit.ParameterExpression object at 0x15a045ad0>]),
                Instruction(name='gpi2', num_qubits=1, num_clbits=0, params=[<qiskit._accelerate.circuit.ParameterExpression object at 0x15a045b30>]),
                Instruction(name='ms', num_qubits=2, num_clbits=0, params=[<qiskit._accelerate.circuit.ParameterExpression object at 0x15a045b90>, <qiskit._accelerate.circuit.ParameterExpression object at 0x15a045bf0>, <qiskit._accelerate.circuit.ParameterExpression object at 0x15a045c50>]),
                Instruction(name='measure', num_qubits=1, num_clbits=1, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: IQM Emerald.',
 'name': 'Emerald',
 'number of qubits': 54,
 'online date': datetime.datetime(2025, 12, 5, 7, 37, 9, 488573, tzinfo=datetime.timezone.utc),
 'operations': [Instruction(name='cz', num_qubits=2, num_clbits=0, params=[]),
                Instruction(name='r', num_qubits=1, num_clbits=0, params=[Parameter(theta), Parameter(phi)]),
                CCPRx(angle_1, angle_2, feedback_key=feedback_key),
                MeasureFF(feedback_key=feedback_key),
                Instruction(name='measure', num_qubits=1, num_clbits=1, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: IonQ Forte 1.',
 'name': 'Forte 1',
 'number of qubits': 36,
 'online date': datetime.datetime(2025, 11, 30, 0, 0, tzinfo=datetime.timezone.utc),
 'operations': [Instruction(name='gpi', num_qubits=1, num_clbits=0, params=[<qiskit._accelerate.circuit.ParameterExpression object at 0x15a045ad0>]),
                Instruction(name='gpi2', num_qubits=1, num_clbits=0, params=[<qiskit._accelerate.circuit.ParameterExpression object at 0x15a045b30>]),
                Instruction(name='rzz', num_qubits=2, num_clbits=0, params=[Parameter(theta)]),
                Instruction(name='measure', num_qubits=1, num_clbits=1, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: IonQ Forte Enterprise 1.',
 'name': 'Forte Enterprise 1',
 'number of qubits': 36,
 'online date': datetime.datetime(2025, 12, 4, 0, 0, tzinfo=datetime.timezone.utc),
 'operations': [Instruction(name='gpi', num_qubits=1, num_clbits=0, params=[<qiskit._accelerate.circuit.ParameterExpression object at 0x15a045ad0>]),
                Instruction(name='gpi2', num_qubits=1, num_clbits=0, params=[<qiskit._accelerate.circuit.ParameterExpression object at 0x15a045b30>]),
                Instruction(name='rzz', num_qubits=2, num_clbits=0, params=[Parameter(theta)]),
                Instruction(name='measure', num_qubits=1, num_clbits=1, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: IQM Garnet.',
 'name': 'Garnet',
 'number of qubits': 20,
 'online date': datetime.datetime(2025, 12, 5, 16, 50, 25, 692763, tzinfo=datetime.timezone.utc),
 'operations': [Instruction(name='cz', num_qubits=2, num_clbits=0, params=[]),
                Instruction(name='r', num_qubits=1, num_clbits=0, params=[Parameter(theta), Parameter(phi)]),
                CCPRx(angle_1, angle_2, feedback_key=feedback_key),
                MeasureFF(feedback_key=feedback_key),
                Instruction(name='measure', num_qubits=1, num_clbits=1, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: AQT IBEX Q1.',
 'name': 'IBEX Q1',
 'number of qubits': 12,
 'online date': datetime.datetime(2025, 11, 14, 10, 20, tzinfo=datetime.timezone.utc),
 'operations': [Instruction(name='r', num_qubits=1, num_clbits=0, params=[Parameter(theta), Parameter(phi)]),
                Instruction(name='rxx', num_qubits=2, num_clbits=0, params=[Parameter(theta)]),
                Instruction(name='rz', num_qubits=1, num_clbits=0, params=[Parameter(phi)]),
                Instruction(name='measure', num_qubits=1, num_clbits=1, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: Amazon Braket SV1.',
 'name': 'SV1',
 'number of qubits': 34,
 'online date': datetime.datetime(2022, 6, 22, 10, 18),
 'operations': [Instruction(name='ccx', num_qubits=3, num_clbits=0, params=[]),
                Instruction(name='cx', num_qubits=2, num_clbits=0, params=[]),
                Instruction(name='cp', num_qubits=2, num_clbits=0, params=[Parameter(theta)]),
                Instruction(name='cswap', num_qubits=3, num_clbits=0, params=[]),
                Instruction(name='cy', num_qubits=2, num_clbits=0, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: Amazon Braket TN1.',
 'name': 'TN1',
 'number of qubits': 50,
 'online date': datetime.datetime(2022, 6, 22, 10, 18),
 'operations': [Instruction(name='cx', num_qubits=2, num_clbits=0, params=[]),
                Instruction(name='cp', num_qubits=2, num_clbits=0, params=[Parameter(theta)]),
                Instruction(name='cy', num_qubits=2, num_clbits=0, params=[]),
                Instruction(name='cz', num_qubits=2, num_clbits=0, params=[]),
                Instruction(name='ecr', num_qubits=2, num_clbits=0, params=[])]}
{'backend version': 2,
 'description': 'AWS Device: Amazon Braket dm1.',
 'name': 'dm1',
 'number of qubits': 17,
 'online date': datetime.datetime(2022, 6, 22, 10, 18),
 'operations': [Instruction(name='ccx', num_qubits=3, num_clbits=0, params=[]),
                Instruction(name='cx', num_qubits=2, num_clbits=0, params=[]),
                Instruction(name='cp', num_qubits=2, num_clbits=0, params=[Parameter(theta)]),
                Instruction(name='cswap', num_qubits=3, num_clbits=0, params=[]),
                Instruction(name='cy', num_qubits=2, num_clbits=0, params=[])]}

Querying for specific backend

[5]:
# state vector simulator
provider.get_backend("SV1")
[5]:
BraketBackend[SV1]
[6]:
# IonQ device
provider.get_backend("Forte 1")
[6]:
BraketBackend[Forte 1]
[7]:
# Rigetti device
provider.get_backend("Ankaa-3")
[7]:
BraketBackend[Ankaa-3]
[8]:
# IQM device
provider.get_backend("Emerald")
[8]:
BraketBackend[Emerald]
[9]:
# AQT device
provider.get_backend("IBEX Q1")
[9]:
BraketBackend[IBEX Q1]

Query options

To get a full list of possible query options refer to Braket SDK get_device documentation

[10]:
online_simulators_backends = provider.backends(statuses=["ONLINE"], types=["SIMULATOR"])
online_simulators_backends
[10]:
[BraketBackend[SV1], BraketBackend[TN1], BraketBackend[dm1]]