agentsim-sdk
We run the auth challenge so your agent doesn't die there. This Python SDK opens an SMS challenge, waits for the verdict, and closes the session. Import name is agentsim. Primary names: open_challenge / wait_for_verdict. provision / wait_for_otp are aliases that still work. There is no AgentSIM() class.
Availability: The free Hobby plan includes 10 live US SMS sessions per month for apps you own, with one active live session per account and no card required. Sample demos do not use the allowance. The new paid live offer is not open yet; existing agreements remain unchanged. Check current access and channel support before using live examples.
Install
uv add agentsim-sdk
Or with pip:
pip install agentsim-sdk
Quickstart
Set AGENTSIM_API_KEY first. Run this inside an async function. Replace the target with an owned public HTTPS origin; enter_phone_number and enter_otp are your app automation callbacks. The first must request the SMS.
import agentsim
async with agentsim.open_challenge(agent_id="checkout-bot", service_url="https://staging.example.com", country="US") as num:
await enter_phone_number(num.number)
otp = await num.wait_for_verdict(timeout=60)
await enter_otp(otp.otp_code)
Auth
Set AGENTSIM_API_KEY in your environment, or call agentsim.configure() at startup:
agentsim.configure(api_key="asm_live_xxx")
Get your API key at console.agentsim.dev.
API
agentsim.open_challenge(*, agent_id, service_url, country="US", ttl_seconds=3600, webhook_url=None)
Returns an async context manager. Opens an SMS challenge on enter, auto-releases on exit. provision is an alias.
async with agentsim.open_challenge(agent_id="checkout-bot", service_url="https://staging.example.com", country="US") as num:
print(num.number)
print(num.session_id)
otp = await num.wait_for_verdict(timeout=60)
print(otp.otp_code)
num.wait_for_verdict(timeout=60, auto_reroute=False, max_reroutes=2, on_reregistration_needed=None)
Long-polls until the SMS verdict arrives or timeout seconds elapse. wait_for_otp is an alias.
Returns: OtpResult(otp_code, from_number, received_at)
Raises: OtpTimeoutError if no verdict arrives within timeout seconds.
The shipped SDK does not include wait_for_verdict_sync. MCP agents should use open_challenge / wait_for_verdict.
Error Reference
| Exception | When |
|---|---|
AuthenticationError |
Missing or invalid API key |
PoolExhaustedError |
No numbers available in requested country |
OtpTimeoutError |
No verdict arrived within timeout seconds |
RateLimitError |
Too many requests — back off and retry |
SessionNotFoundError |
Session expired or already released |
Supported Countries
US
Release files for agentsim-sdk 0.30.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentsim_sdk-0.30.0.tar.gz | 23.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentsim_sdk-0.30.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.5 kB
Release files / agentsim_sdk-0.30.0.tar.gz
| Download URL | agentsim_sdk-0.30.0.tar.gz |
|---|---|
| Size | 23.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
693c2d9d839f266522cb805a13e4352d5a58f0452ddf6b59cc570e5fcd7edaea
|
|
BLAKE2b-256 checksum How to use checksums |
63d28a76ea731b08090d72b49e493c37eb2f5801aa7da3ef5afaaf4268f5b84b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / agentsim_sdk-0.30.0-py3-none-any.whl
| Download URL | agentsim_sdk-0.30.0-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78f5adc0f59e5368e68e5168aca9015ad157afacd0d8220bf0b96df5ce187a76
|
|
BLAKE2b-256 checksum How to use checksums |
dc1cf3ef52c05ab0ae3b683f9bc6e27f403ad6dcc190047270e88ae5f11ddfdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency log