Getting started for agents.
Every step works over plain HTTP, with no browser. To order for your own product, verify its domain first: step 3.
The calls, in order.
- Find a tool for a taskNo key, no account: which products an agent can use for a task, ranked from our drives, and each product's own record.
curl 'https://agentdrives.com/api/find-tools?task=send+an+invoice' # → {"task":"send an invoice","results":[{"slug":"…","level":4,"gets_in_alone":true,…}]} # The answer says its limit in RateLimit headers; at it, a 429 with Retry-After. curl https://agentdrives.com/api/tools/<slug>.json - Sign upOne call, no email address. Your agent gets an API key at once and a claim link for its person. Until the person claims it, the account gets 1 free check a day and can order a Findings and pay for it.
curl -X POST https://agentdrives.com/api/agents/signup \ -H 'content-type: application/json' -d '{"agent":"my-agent"}' # → {"api_key":"sd_…","claim":{"url":"https://agentdrives.com/claim#t=…"},"limits":{…}} # With an email address instead: a 6-digit code, then a key curl -X POST https://agentdrives.com/api/auth/email-otp/send-verification-otp \ -H 'content-type: application/json' -d '{"email":"you@company.com","type":"sign-in"}' curl -X POST https://agentdrives.com/api/auth/sign-in/email-otp \ -H 'content-type: application/json' -d '{"email":"you@company.com","otp":"123456"}' curl -X POST https://agentdrives.com/api/auth/api-key/create -H 'authorization: Bearer <token>' \ -H 'content-type: application/json' -d '{"name":"my-agent"}' - Verify your domainClaim your domain and prove it's yours: an account email on the domain, which verifies at once, a code mailed to any address at the domain, a DNS TXT record, a meta tag on the home page or a file at /.well-known/agentdrive-verify.txt. Every order for your own product needs this first. The claim's answer has your token and the next call for each way.
curl -X POST https://agentdrives.com/api/claims -H 'x-api-key: sd_…' \ -H 'content-type: application/json' -d '{"domain":"yourproduct.com"}' # → {"claim":{"id":"…","token":"agentdrive-verify=…"},"methods":{"dns":…,"meta":…,"file":…,"email":…}} # Add the TXT record _agentdrive.yourproduct.com with the token, then: curl -X POST https://agentdrives.com/api/claims/<id>/verify -H 'x-api-key: sd_…' # Or a code by mail to any address at the domain: curl -X POST https://agentdrives.com/api/claims/<id>/email -H 'x-api-key: sd_…' \ -H 'content-type: application/json' -d '{"local":"admin"}' curl -X POST https://agentdrives.com/api/claims/<id>/verify -H 'x-api-key: sd_…' \ -H 'content-type: application/json' -d '{"code":"123456"}' - Check a productFree and private: what an agent finds without a browser and where it would likely stop.
curl -X POST https://agentdrives.com/api/orders -H 'x-api-key: sd_…' \ -H 'content-type: application/json' -d '{"product":"free","url":"https://yourproduct.com"}' # → {"order":{"id":"…"}}; a few minutes later: curl https://agentdrives.com/api/orders/<id>/report -H 'x-api-key: sd_…' - Order
"product": "drive"orders Findings,"product": "report"a Full report and"product": "audit"an Audit. A domain you haven't verified yet gets 403 claim_not_verified, with every way to verify it. Every error carries a fix field with the next call.curl -X POST https://agentdrives.com/api/orders -H 'x-api-key: sd_…' \ -H 'content-type: application/json' -d '{"product":"drive","url":"https://yourproduct.com","business":true}' # → {"order":{"id":"…"},"payment":{…}} - Pay without a personThe Findings's payment URL answers 402 with MPP and x402 challenges. Your agent pays $49 with a card through a Stripe Shared Payment Token, or USDC on Base or Tempo, sends the same call again, and the drive starts. The price includes any VAT, and every payment has a receipt. An EU business that sends its VAT ID as buyer.vat_id gets our invoice. A person can pay by card instead.
curl -i -X POST https://agentdrives.com/api/orders/<id>/payment # → 402 Payment Required # WWW-Authenticate: Payment … method="stripe" | "tempo" | "evm" (MPP) # PAYMENT-REQUIRED: … (x402, USDC on Base) # Pay with an MPP client or an x402 wallet, then send it again: curl -X POST https://agentdrives.com/api/orders/<id>/payment -H 'authorization: Payment <credential>' \ -H 'content-type: application/json' -d '{"buyer":{"vat_id":"DE123456789"}}' # → 200 {"order":{"status":"paid"},"payment":{…,"receipt_url":…}} and a Payment-Receipt header - Pay per callA search with no limit, $0.01 a call: top up $5 for 500 calls over HTTP 402, then send the key it gives you.
curl -i -X POST https://agentdrives.com/api/credits/topup -H 'idempotency-key: <uuid>' \ -H 'content-type: application/json' -d '{"amount_usd":5}' # → 402 with MPP and x402 challenges; pay, send it again with the credential # → 200 {"api_key":"sd_…","credit":{…}} curl -X POST https://agentdrives.com/api/paid/find-tools -H 'x-api-key: sd_…' \ -H 'content-type: application/json' -d '{"task":"send an invoice"}' - LeaveTwo calls: the first gives a confirm token, the second sends it back within 5 minutes and deletes the account. Every key stops working at once.
curl -X POST https://agentdrives.com/api/auth/delete-user -H 'x-api-key: sd_…' \ -H 'content-type: application/json' -d '{}' # → 202 {"confirm":"required","token":"…","expires_at":"…"} curl -X POST https://agentdrives.com/api/auth/delete-user -H 'x-api-key: sd_…' \ -H 'content-type: application/json' -d '{"token":"…"}' # → 200 {"success":true}