Docs / Agent API
Agent API
Pay-per-call data routes for AI agents. Pay each request in USDC on Base with x402. No account, no API key.
Base URL: https://johto-x402-api.johtodata.workers.dev
| Price | Route, fields and example |
|---|---|
| $0.0475 per call | GET /v1/new-trucking-companiesNew trucking companies Returns: New US motor carriers from FMCSA records, company-level, up to 25 per call: USDOT number, legal name, add date, city and state, fleet size, operation type, authority and insurance status, SAFER link. Use when: you need newly registered US motor carriers as sales leads, for example for insurance, factoring or fleet services. Don't use when: you need personal contact details (none are returned), long-established carriers, or fleets outside the US. First call (answers 402 with the price and payment details): curl -i "https://johto-x402-api.johtodata.workers.dev/v1/new-trucking-companies?days=7&no_insurance=1&state=AZ"Example request: /v1/new-trucking-companies?days=7&no_insurance=1&state=AZExample response (live, 1 row): {"data":[{"addDate":"2026-10-20","authorityStatus":"Pending","bipdRequiredUsd":750000,"cargoTypes":["genfreight","household"],"city":"TEMPE","classification":"AUTHORIZED FOR HIRE","country":"US","dotNumber":"6035255","hasActiveInsurance":false,"insuranceCheckedAt":"2026-10-22T09:49:37.619Z","insuranceLead":true,"insuranceStatus":"None yet (BI&PD required)","legalName":"SKY LOGISTIC LLC","operationType":"Interstate","powerUnits":1,"snapshotUrl":"https://safer.fmcsa.dot.gov/query.asp?searchtype=ANY&query_type=queryCarrierSnapshot&query_param=USDOT&query_string=6035255","state":"AZ","totalDrivers":4,"trucks":1}],"rows":1} |
| $0.01 per call | GET /v1/jobsLever jobs Returns: Open jobs from named Lever boards, up to 25 per call: title, location, remote flag, published salary range, employment type, posted date and apply URL. Use when: you need current open roles at named companies that hire through Lever, with salary ranges where the employer publishes them. Don't use when: you need a keyword search across all employers, boards on other hiring systems, or candidate profiles. First call (answers 402 with the price and payment details): curl -i "https://johto-x402-api.johtodata.workers.dev/v1/jobs?companies=lever:zoox&days=7&limit=10&title=engineer"Example request: /v1/jobs?companies=lever:zoox&days=7&limit=10&title=engineerExample response (live, 1 row): {"data":[{"ats":"lever","company":"zoox","employmentType":"Full-time","id":"lever:8befaec7-bb9f-4cf3-a48c-46b5e3886bf3","isRemote":false,"jobUrl":"https://jobs.lever.co/zoox/8befaec7-bb9f-4cf3-a48c-46b5e3886bf3","location":"Foster City, CA","postedAt":"2026-10-21T17:34:11.949Z","salaryCurrency":"USD","salaryMax":168000,"salaryMin":123000,"title":"Administrative Business Partner, Product"}],"rows":1} |
| $0.0029 per call | GET /v1/kybCompany verification (KYB) Returns: Company verification from GLEIF LEI and SEC EDGAR: LEI status, registration number, jurisdiction, direct and ultimate parent, CIK, ticker, EIN, SIC and last filing. Up to 10 rows. Use when: you need to confirm a company's legal identity (LEI, registration number, jurisdiction, parents, SEC CIK and ticker) before onboarding or a deal. Don't use when: you need data on people, credit scores, financial statements or sanctions screening. First call (answers 402 with the price and payment details): curl -i "https://johto-x402-api.johtodata.workers.dev/v1/kyb?name=Tesla,%20Inc."Example request: /v1/kyb?name=Tesla,%20Inc.Example response (live, 1 row): {"data":[{"identifiers":{"bic":["TSLAUS66XXX"],"cik":null,"companyNumber":"0805587591","lei":"54930043XZGB27CTOV49","registrationAuthorityId":"RA000637","ticker":null},"incorporationDate":"2024-06-14","jurisdiction":"US-TX","lei":{"legalFormCode":"C5K7","parent":{"lei":null,"name":null,"reportingException":"NO_KNOWN_PERSON"},"registrationStatus":"ISSUED","ultimateParent":{"lei":null,"name":null,"reportingException":"NO_KNOWN_PERSON"}},"name":"TESLA, INC.","source":"gleif","sourceUrl":"https://search.gleif.org/#/record/54930043XZGB27CTOV49","status":"ACTIVE"}],"rows":1} |
| $0.0045 per call | GET /v1/crawlWeb crawl to Markdown Returns: Crawl up to 20 pages under a start URL into Markdown: URL, title, Markdown, token estimate and content hash per page. Use when: you need a docs site or one section of a site (up to 20 pages under a start URL) as Markdown. Don't use when: you need a single page (use /v1/read), more than 20 pages, pages outside the start URL path, or content behind a login or paywall. First call (answers 402 with the price and payment details): curl -i "https://johto-x402-api.johtodata.workers.dev/v1/crawl?pages=10&url=https://crawlee.dev/python/docs"Example request: /v1/crawl?pages=10&url=https://crawlee.dev/python/docsExample response (live, 1 row): {"data":[{"contentHash":"fc2f086388e350bc","markdown":"* [](https://crawlee.dev/python/python)\n* [Examples](https://crawlee.dev/python/ ...","title":"BeautifulSoup crawler","tokensEstimate":1504,"url":"https://crawlee.dev/python/docs/examples/beautifulsoup-crawler.md"}],"rows":1} |
| $0.0019 per call | GET /v1/readRead one page as Markdown Returns: Read one public web page as Markdown: URL, HTTP status, title, Markdown, token estimate and content hash. One http(s) URL per call. robots.txt is respected; not charged if the page fails or robots.txt blocks it. Use when: you need one web page as clean Markdown for an LLM or RAG pipeline. Don't use when: you need many pages from one site (use /v1/crawl), or the page needs a login or sits behind a paywall. First call (answers 402 with the price and payment details): curl -i "https://johto-x402-api.johtodata.workers.dev/v1/read?url=https://docs.apify.com/platform/actors"Example request: /v1/read?url=https://docs.apify.com/platform/actorsExample response (live, 1 row): {"data":{"url":"https://docs.apify.com/platform/actors","title":"Actors","markdown":"# Actors ...","tokensEstimate":744,"contentHash":"15c0c036fb715d8f"},"rows":1} |
Prices are per call in USDC on Base. The 402 payment response from each route is authoritative.
How a call works
- Call the route with your query parameters.
- The route answers
402 Payment Requiredwith the price and payment details. - Your x402 client pays in USDC on Base and retries the request. The response is JSON:
{ data, rows }.
Direct orders
Data packs and feeds: order on /order/ and pay by card invoice or in crypto, all to one address: USDC on Ethereum, Base, Arbitrum, Optimism or Polygon; USDT on Ethereum; ETH on Ethereum, Base, Arbitrum or Optimism; POL on Polygon. Send only on the networks listed. Same address on all listed networks. The API routes above take USDC on Base only.
Machine-readable list: /.well-known/x402. Prefer Apify? See the Actor docs. Questions: [email protected].