Python client for 2s — the (most) everything API. Pay-per-call AI-agent data APIs, settled in USDC on Base or Solana via x402.
Project description
2sio (Python)
Python client for 2s.io — the (most) everything API. Pay-per-call AI-agent data APIs on Base or Solana via x402.
pip install 2sio
🎁 Try before you buy — free, no wallet
Verify any endpoint before funding a wallet. trial=True makes free calls (one per endpoint per hour, no key, no signup):
from twosio import TwoS
trial = TwoS(trial=True)
print(trial.validate.iban(iban="GB82WEST12345698765432").data["items"][0]["valid"])
# real result; once/hour/endpoint, then raises TwoSError(code="TRIAL_EXHAUSTED")
Pass private_key=... (below) to pay per call for unlimited access.
Quick start
import os
from twosio import TwoS
# private_key is an EVM key (0x...) holding USDC on Base mainnet.
client = TwoS(private_key=os.environ["EVM_PRIVATE_KEY"])
r = client.patents.search(q="neural network", limit=5)
print(r.data["hits"][0]["title"])
print("paid:", r.cost_usd, "USDC, tx:", r.settlement["tx_hash"])
Settles on Base mainnet in ~2 seconds. Prices start at $0.001/call.
If you'd rather construct the signer yourself (e.g. for a custodial KMS-backed wallet), pass it directly:
from eth_account import Account
signer = Account.from_key(os.environ["EVM_PRIVATE_KEY"])
client = TwoS(signer=signer)
What's included
260+ endpoints across 85+ groups, namespaced on the client. A sample of the verticals:
- Patents & trademarks — USPTO patent search/detail/documents, trademark search.
- Legal — court opinions & dockets (CourtListener / Free Law Project), OFAC sanctions screening.
- Government & economy — Federal Register, Congress votes, FEC, BLS, US Census, World Bank, inflation/FX.
- Finance & markets — SEC EDGAR filings, stock fundamentals, crypto address validation, gas oracle.
- Science & medicine — arXiv / PubMed / Semantic Scholar papers, ICD-10 & clinical lookups, nutrition, chem/bio.
- Vehicles & aviation — NHTSA VIN decode & recalls, aircraft registry, airports, live flights.
- Geo & weather — geocoding (OpenStreetMap), NWS/NOAA forecasts, tides, earthquakes (USGS), timezone, sunrise.
- Business & registries — company lookups, nonprofits, GLEIF LEI entity match, licenses.
- Security — CVE lookup (NVD + CISA KEV + EPSS).
- Web & data utilities — URL→markdown, screenshots, hashing, DNS/TLS, barcode, format conversion.
- Agent primitives — knowledge-delta, memory, marketplace.
client.patents.search(q="neural network")
client.law.sanctions_check(name="John Smith")
client.vehicle.vin_decode(vin="1HGCM82633A004352")
client.security.cve(cve="CVE-2021-44228")
client.finance.company_facts(ticker="AAPL")
client.geocode.address(query="350 5th Ave, New York, NY")
# ... and many more
Settles in USDC on Base or Solana via x402. Full catalog: https://2s.io/api/directory. OpenAPI: https://2s.io/api/openapi.
Safety
- No default price cap — some endpoints are intentionally premium. Set
max_price_usdto opt into a local ceiling; the client then refuses to sign any payment above it. - Optional
on_payment_requestedhook for per-call approval.
client = TwoS(
private_key=os.environ["EVM_PRIVATE_KEY"],
max_price_usd=0.05,
on_payment_requested=lambda info: info["amount_usd"] < 0.02,
)
Errors
TwoSError— HTTP error from 2s.io.PaymentRefusedError— local refusal (price cap or hook).
License
MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file 2sio-1.42.1.tar.gz.
File metadata
- Download URL: 2sio-1.42.1.tar.gz
- Upload date:
- Size: 44.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9eb9991a57a3942668a6ce073886ba26d7ebcc0dc255e437c93cb7ae23f5db02
|
|
| MD5 |
a5167eda322159526b58495bf80874a6
|
|
| BLAKE2b-256 |
2b616c204c37abf3d4a66358e35dbd48ecae873ea224318d0f74ca4615b4e2f8
|
File details
Details for the file 2sio-1.42.1-py3-none-any.whl.
File metadata
- Download URL: 2sio-1.42.1-py3-none-any.whl
- Upload date:
- Size: 43.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c16faf0bf6d180bc749b3072edd4eadf4ad8b76333c8bf88f5ae2aabc41a3a4
|
|
| MD5 |
8ec0143087460d4dabf308eb6a34ba86
|
|
| BLAKE2b-256 |
3447fa0d459573e3780212702d859aad937b110022114cbba1122c59c900f3db
|