Skip to content
guide

APILayer alternative: one API key replaces six products

| 7 min read
Tangled versus organized cable management
Photo by John Barkiple on Unsplash

APILayer (formerly LayerAPI) runs a portfolio of single-purpose APIs: Fixer for exchange rates, NumVerify for phone validation, mailboxlayer for email verification, ipstack for geolocation. Each one has its own dashboard, its own API key, and its own billing. Three subscriptions add up to \$50-100/month before you've touched a production workload.

Botoi takes a different approach. One subscription gives you 150+ endpoints. Currency conversion, phone validation, email verification, IP geolocation, screenshots, VAT validation; all under a single API key and a single monthly invoice.

APILayer products mapped to botoi endpoints

APILayer operates six major products that developers commonly combine. Each product below has a direct botoi equivalent.

APILayer product Botoi equivalent Coverage
Fixer.io (exchange rates) /v1/currency/convert, /v1/currency/rates Full
NumVerify (phone validation) /v1/phone Partial
mailboxlayer (email validation) /v1/email/validate, /v1/disposable-email/check Full
ipstack (IP geolocation) /v1/ip/lookup, /v1/vpn-detect Full
screenshotlayer (screenshots) /v1/screenshot/capture Full
vatlayer (VAT validation) /v1/validate/vat Full

Five of six products have full coverage. NumVerify is marked "partial" because botoi's /v1/phone endpoint returns validation, E.164 format, and country data, but not carrier name or line type. If you need carrier detection, NumVerify has deeper data for that specific use case.

Pricing: three APILayer products vs one botoi plan

Most developers start with two or three APILayer products and add more as their app grows. Here's how costs compare when you combine multiple products.

Scenario APILayer cost Botoi Starter (\$9/mo) Botoi Pro (\$49/mo)
Fixer.io Basic \$14.99/mo \$9/mo \$49/mo
Fixer + NumVerify \$29.98/mo \$9/mo \$49/mo
Fixer + NumVerify + mailboxlayer \$49.97/mo \$9/mo \$49/mo
Fixer + NumVerify + mailboxlayer + ipstack \$69.96/mo \$9/mo \$49/mo
All 6 products \$90-120/mo \$9/mo \$49/mo

Botoi's price stays flat. Whether you call one endpoint or all 150+, the monthly cost doesn't change. The Starter plan includes 300,000 requests. The Pro plan includes 3,000,000. Both cover every endpoint.

The free tier works too: 5 requests/minute, 100 requests/day, no API key, no commercial use restriction. APILayer's free tiers typically cap at 100-250 requests/month and restrict HTTPS access to paid plans on some products.

Dashboard with data analytics and charts
Photo by Mika Baumeister on Unsplash

Fixer.io alternative: currency conversion

Fixer.io is APILayer's most popular product. It provides exchange rates sourced from the European Central Bank. Botoi's /v1/currency/convert and /v1/currency/rates endpoints pull from the same ECB data, updated daily.

curl -X POST https://api.botoi.com/v1/currency/convert \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"from": "EUR", "to": "USD", "amount": 250}'

Response:

{
  "success": true,
  "data": {
    "from": "EUR",
    "to": "USD",
    "amount": 250,
    "result": 271.25,
    "rate": 1.085
  }
}

Fixer's free tier locks you to EUR as the base currency and limits you to 100 requests/month. Botoi's free tier supports any base currency from the start.

NumVerify alternative: phone validation

NumVerify parses phone numbers, validates them, and returns carrier and line type data. Botoi's /v1/phone endpoint handles parsing, validation, and E.164 formatting.

curl -X POST https://api.botoi.com/v1/phone \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"phone": "+14155552671"}'

Response:

{
  "success": true,
  "data": {
    "valid": true,
    "phone": "+14155552671",
    "e164": "+14155552671",
    "national": "(415) 555-2671",
    "countryCode": "US",
    "countryName": "United States"
  }
}

The tradeoff: NumVerify returns carrier name (e.g., "AT&T Mobility") and line type (mobile, landline, VoIP). Botoi doesn't. If carrier detection drives business logic in your app, NumVerify gives you more depth on that axis. For format validation and country detection, botoi covers it.

mailboxlayer alternative: email validation

mailboxlayer checks email syntax, verifies MX records, and detects disposable providers. Botoi splits this across two endpoints: /v1/email/validate for syntax and MX checks, and /v1/disposable-email/check for throwaway domain detection.

curl -X POST https://api.botoi.com/v1/email/validate \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"email": "dev@company.io"}'

Response:

{
  "success": true,
  "data": {
    "email": "dev@company.io",
    "valid": true,
    "format": true,
    "domain": "company.io",
    "mx": true,
    "disposable": false
  }
}

mailboxlayer also offers a catch-all detection flag and an SMTP check that attempts delivery. Botoi's email validation doesn't probe the remote SMTP server. For signup flows where you need to know "is this a real inbox," mailboxlayer goes a step further. For blocking bad syntax, missing MX records, and disposable domains, botoi covers the common cases.

Combine six products in one function call

The single-key model pays off when you need multiple data points for one user action. This Node.js function validates a checkout by calling six different botoi endpoints in parallel:

const API_KEY = process.env.BOTOI_API_KEY;
const BASE = "https://api.botoi.com/v1";

const headers = {
  "Content-Type": "application/json",
  "Authorization": `Bearer ${API_KEY}`,
};

// Six APILayer products, one API key
async function validateCheckout(email, phone, ip, vatNumber) {
  const [emailCheck, phoneCheck, ipLookup, vatCheck, disposableCheck, currencyRate] =
    await Promise.all([
      fetch(`${BASE}/email/validate`, {
        method: "POST",
        headers,
        body: JSON.stringify({ email }),
      }).then((r) => r.json()),

      fetch(`${BASE}/phone`, {
        method: "POST",
        headers,
        body: JSON.stringify({ phone }),
      }).then((r) => r.json()),

      fetch(`${BASE}/ip/lookup`, {
        method: "POST",
        headers,
        body: JSON.stringify({ ip }),
      }).then((r) => r.json()),

      fetch(`${BASE}/validate/vat`, {
        method: "POST",
        headers,
        body: JSON.stringify({ vat_number: vatNumber }),
      }).then((r) => r.json()),

      fetch(`${BASE}/disposable-email/check`, {
        method: "POST",
        headers,
        body: JSON.stringify({ email }),
      }).then((r) => r.json()),

      fetch(`${BASE}/currency/rates`, {
        method: "POST",
        headers,
        body: JSON.stringify({ base: "EUR" }),
      }).then((r) => r.json()),
    ]);

  return {
    emailValid: emailCheck.data.valid,
    disposable: disposableCheck.data.disposable,
    phoneValid: phoneCheck.data.valid,
    phoneE164: phoneCheck.data.e164,
    country: ipLookup.data.country,
    city: ipLookup.data.city,
    vatValid: vatCheck.data.valid,
    eurToUsd: currencyRate.data.rates.USD,
  };
}

const result = await validateCheckout(
  "buyer@company.de",
  "+4930123456",
  "203.0.113.42",
  "DE123456789"
);
console.log(result);

On APILayer, this function would require six API keys from six different dashboards. On botoi, it's one key, one bill, one quota.

Python: screenshot capture and VAT validation

Two endpoints that map to screenshotlayer and vatlayer, both called with the same API key:

import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://api.botoi.com/v1"
HEADERS = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}",
}

# Capture a screenshot (replaces screenshotlayer)
screenshot = requests.post(
    f"{BASE}/screenshot/capture",
    headers=HEADERS,
    json={
        "url": "https://example.com",
        "width": 1280,
        "height": 800,
        "format": "png",
    },
)

# Save the image
with open("screenshot.png", "wb") as f:
    f.write(screenshot.content)

# Validate a VAT number (replaces vatlayer)
vat = requests.post(
    f"{BASE}/validate/vat",
    headers=HEADERS,
    json={"vat_number": "DE123456789"},
).json()

print(f"VAT valid: {vat['data']['valid']}")

Where APILayer products go deeper

APILayer's individual products are purpose-built and have had years to mature. Honest comparison of where they hold an edge:

  • Fixer.io offers intraday rate updates on higher plans and supports historical rates going back to 1999. Botoi provides daily rates with no historical lookups.
  • NumVerify returns carrier name and line type (mobile, landline, VoIP). Botoi's phone endpoint doesn't include carrier data.
  • mailboxlayer performs SMTP-level inbox verification and catch-all detection. Botoi checks syntax, MX records, and disposable domains but doesn't probe the target mailbox.
  • ipstack includes threat intelligence flags (Tor exit node, known attacker) on its Security Module add-on. Botoi's /v1/vpn-detect flags VPN, proxy, and datacenter IPs, but doesn't include threat reputation scoring.

If any of these deeper features are core to your product, the specialized APILayer product may be worth keeping for that specific endpoint. You can also mix: use botoi for the five or six endpoints where coverage is full and keep one APILayer product for the domain where you need deeper data.

What botoi adds beyond APILayer's scope

Botoi's 150+ endpoints go far beyond the six products APILayer offers. Categories with no APILayer equivalent:

  • 52 developer utilities: hash generation, UUID creation, JWT signing and decoding, cron parsing, semver comparison, TOTP generation, code formatting, SQL parsing, JSON-to-TypeScript/Zod schema conversion, math evaluation, unit conversion.
  • 33 text and data tools: Base64 encoding, JSON formatting and flattening, Markdown conversion, CSV parsing, XML-to-JSON, PII detection, regex testing, HTML sanitization.
  • DNS and security: SPF, DMARC, DKIM checks, WHOIS lookups, SSL audits, domain availability, technology detection.
  • Media generation: QR codes, barcodes, OG images, placeholder images, PDF generation from HTML and Markdown.
  • Storage services: webhook inboxes, URL shortener, paste bin, uptime monitoring.

All of these are included in every plan. The free tier covers every endpoint with no commercial use restriction.

Key points

  • APILayer charges per product. Combining Fixer, NumVerify, mailboxlayer, and ipstack costs \$50-70/month on basic plans. Adding screenshotlayer and vatlayer pushes it past \$90/month.
  • Botoi covers all six products under one subscription. \$9/month for 300,000 requests across all 150+ endpoints, or \$49/month for 3,000,000.
  • APILayer products have deeper features per domain: historical exchange rates, carrier detection, SMTP-level email verification, and threat intelligence. Pick them when depth in a single domain matters more than breadth.
  • Botoi's free tier allows commercial use with no API key. APILayer's free tiers are more restrictive, with lower caps and HTTPS gated behind paid plans.
  • You can mix both. Use botoi for the five endpoints where coverage is full and keep NumVerify or Fixer.io for the one domain where you need specialized data.

Frequently asked questions

Which APILayer products does botoi cover?
Botoi covers six of APILayer's most popular products: Fixer.io (currency conversion and exchange rates), NumVerify (phone validation), mailboxlayer (email validation and disposable email detection), ipstack (IP geolocation and VPN detection), screenshotlayer (website screenshots), and vatlayer (VAT number validation).
Can I use botoi without an API key?
Yes. The free tier allows anonymous access at 5 requests per minute and 100 requests per day with IP-based rate limiting. No signup, no credit card, no API key required. Paid plans start at $9/month for 300,000 requests across all endpoints.
How do exchange rate updates compare to Fixer.io?
Fixer.io sources rates from the European Central Bank and financial data providers, updating once per business day. Botoi's /v1/currency/rates and /v1/currency/convert endpoints also source from the ECB and update daily. For most e-commerce and SaaS pricing use cases, daily rates are enough.
Does botoi support the same phone number formats as NumVerify?
Botoi's /v1/phone endpoint accepts international phone numbers with a + prefix and returns E.164 format, national format, country code, and country name. NumVerify accepts numbers with or without a country code prefix and returns additional carrier and line type data. If you need carrier detection, NumVerify is more specialized.
Is botoi's free tier restricted to non-commercial use?
No. Botoi's free tier has no commercial use restriction. You can use it in production. Several APILayer products restrict free tiers to non-commercial use or require HTTPS-only access on paid plans.

Try this API

Company Lookup API — interactive playground and code examples

More guide posts

Start building with botoi

150+ API endpoints for lookup, text processing, image generation, and developer utilities. Free tier, no credit card.