Ask. _Done

Tools & APIs for AI agents. Pay on demand. No friction.

No accounts. No API keys. No signing up. No subscriptions.

Find tool → pay on demand per usage → get result → continue. One HTTP request.

☷ Browse all APIs
4
APIs live
$0.01
Pay on demand
<200ms
Response time
x402
Payment protocol
How it works
01
Agent reads metadata
GET the endpoint. Receive OpenAPI spec + x402 payment details.
02
Sees 402 response
Server returns HTTP 402 with a signed payment requirement in USDC.
03
Signs & pays onchain
Agent wallet broadcasts a USDC microtransaction on Base. No human needed.
04
Gets the result
Server verifies the payment header and returns the API response. Done.
All APIs
Validation

Bulk DMARC Record Lookup

Check email security (DMARC) configuration for one or many domains in a single request.

Give this tool a list of domain names and it will instantly check each one's DMARC email security record. DMARC is a standard that tells email providers how to handle fake or spoofed emails pretending to come from your domain. For each domain you submit, you get back whether a valid record exists, what the policy is (none, quarantine, or reject), whether reporting addresses are set up, and the full raw record text. Perfect for auditing many domains at once without any setup.

GEThttps://dmarc-lookup.underscoredone.com/dmarc-lookup
Example request
{
  "domains": "onescales.com,hillms.com,google.com"
}
Example response
{
  "api_version": "1.0.0",
  "results": [
    {
      "domain": "onescales.com",
      "recordStatus": "Valid",
      "domainPolicy": "reject",
      "reportingEnabled": true,
      "rawRecord": "v=DMARC1;p=reject;rua=mailto:[email protected],mailto:[email protected],mailto:[email protected];ruf=mailto:[email protected];fo=1;"
    },
    {
      "domain": "hillms.com",
      "recordStatus": "Valid",
      "domainPolicy": "reject",
      "reportingEnabled": true,
      "rawRecord": "v=DMARC1;p=reject;rua=mailto:[email protected];"
    },
    {
      "domain": "nodmarc-example.com",
      "recordStatus": "Not Found",
      "domainPolicy": "",
      "reportingEnabled": false,
      "rawRecord": ""
    }
  ],
  "total": 3,
  "valid_count": 2,
  "invalid_count": 0,
  "not_found_count": 1
}
Network

Domain Age Checker

Give it a list of domains and get back registration date, expiration date, age, and time remaining — instantly.

Send a list of domain names and this tool tells you exactly how old each one is, when it was first registered, when it expires, and how much time is left before expiration. Great for spotting brand-new suspicious domains, researching competitors, or evaluating domains before buying or linking to them. Works with over 100 domain extensions worldwide.

POSThttps://domain-age-checker.underscoredone.com/lookup
Example request
{
  "domains": [
    "google.com",
    "openai.com",
    "github.com"
  ]
}
Example response
{
  "api_version": "1.0.0",
  "results": [
    {
      "domainName": "google.com",
      "age": "26 Years 10 Months 12 Days",
      "registrationDate": "1997-09-15",
      "lastUpdateDate": "2024-09-07",
      "expirationDate": "2028-09-14",
      "expiringIn": "3 Years 1 Month 18 Days",
      "status": "success"
    },
    {
      "domainName": "openai.com",
      "age": "9 Years 3 Months 5 Days",
      "registrationDate": "2015-04-18",
      "lastUpdateDate": "2024-11-01",
      "expirationDate": "2026-04-18",
      "expiringIn": "11 Months 22 Days",
      "status": "success"
    }
  ],
  "total": 2,
  "succeeded": 2,
  "failed": 0,
  "processed_at": "2024-07-27T14:22:01Z"
}
Network

HTTP Status Code Checker

Check the live status of up to 10 URLs at once and detect redirects instantly.

Give this API a list of up to 10 web addresses and it will visit each one to tell you whether it is working, broken, or redirecting visitors somewhere else. You get back the exact status number (like 200 for OK, 404 for not found, 500 for server error), whether the address redirects, and where it redirects to. Great for finding broken links, verifying website migrations, and running quick SEO audits without writing any code.

POSThttps://http-status-checker.underscoredone.com/check
Example request
{
  "urls": [
    "https://onescales.com",
    "https://onescales.com/pages/contact"
  ]
}
Example response
{
  "api_version": "1.0.0",
  "results": [
    {
      "url": "https://onescales.com",
      "statusCode": 200,
      "isRedirect": false,
      "redirectURL": "",
      "error": ""
    },
    {
      "url": "https://onescales.com/pages/contact",
      "statusCode": 200,
      "isRedirect": false,
      "redirectURL": "",
      "error": ""
    }
  ]
}
Conversion

Bulk QR Code Generator

Turn a list of text, URLs, or any strings into QR code images instantly — one call, many codes.

Send a list of texts — website addresses, phone numbers, plain words, WiFi details, anything — and get back a ready-to-use QR code image for each one. Every QR code comes as a base64-encoded PNG you can drop straight into a webpage or save to disk. Great for marketing campaigns, event tickets, product labels, menus, or any situation where you need many QR codes in one go. Empty entries are quietly skipped. Each input is limited to 700 characters. You must send at least one non-empty entry.

POSThttps://qr-code-generator.underscoredone.com/generate
Example request
{
  "texts": [
    "https://example.com",
    "https://example.com/product/42",
    "WiFi:T:WPA;S:GuestNetwork;P:welcome123;;",
    "Phone: +1-800-555-0199"
  ],
  "size": 600,
  "error_correction": "H"
}
Example response
{
  "api_version": "1.0.0",
  "count": 2,
  "results": [
    {
      "text": "https://example.com",
      "qr_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAYAAAC+ZpjcAA..."
    },
    {
      "text": "Phone: +1-800-555-0199",
      "qr_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAYAAAC+ZpjcAA..."
    }
  ]
}