# A3E API
> Twelve HTTP endpoints that do one thing each: QR codes, email verification, SEO audits, screenshots, HTML to PDF, PDF merge/split/compress/rasterise, text to speech, uptime and change monitoring. One API key in the X-API-Key header. Free tier with no card.
## Docs
- [Reference and pricing](https://api.a3eecosystem.com/): every endpoint, request body, plan and the signup call
- [OpenAPI 3.1 specification](https://api.a3eecosystem.com/v1/openapi.json): import into Postman, Insomnia or an SDK generator
## Get a key
POST https://api.a3eecosystem.com/v1/auth/signup with JSON {"name": "...", "email": "..."} returns a free key. Send it as the X-API-Key header.
## Endpoints
- POST /v1/qr/generate - QR code. Any string in, a PNG QR code out. Request: {"data": "https://example.com"}. Returns image/png.
- POST /v1/email/verify - Email verification. Syntax, domain, MX and disposable-provider checks on an address. Request: {"email": "someone@example.com"}. Returns application/json.
- POST /v1/web/seo-audit - SEO audit. Fetches a page and scores title, meta, headings, images and links. Request: {"url": "https://example.com"}. Returns application/json.
- POST /v1/web/screenshot - Screenshot. Renders a URL in a real browser and returns the PNG. Request: {"url": "https://example.com", "width": 1280, "height": 800}. Returns image/png.
- POST /v1/web/pdf-render - HTML to PDF. Your HTML, laid out by a real browser engine, back as a PDF. Request: {"html": "
Invoice
"}. Returns application/pdf.
- POST /v1/document/pdf-merge - Merge PDFs. Several PDFs in, one PDF out, in the order you sent them. Request: multipart/form-data: files=@a.pdf files=@b.pdf. Returns application/pdf.
- POST /v1/document/pdf-split - Split a PDF. Pull a page range out of a PDF. Request: multipart/form-data: file=@in.pdf start=1 end=2. Returns application/pdf.
- POST /v1/document/pdf-compress - Compress a PDF. Image recompression and font subsetting. Up to 96% on photo-heavy files; never returns a file larger than the one you sent. Request: multipart/form-data: file=@in.pdf. Returns application/pdf.
- POST /v1/document/pdf-to-image - PDF to image. Rasterise any page of a PDF at the DPI you ask for. Request: multipart/form-data: file=@in.pdf page=1 dpi=150. Returns image/png.
- POST /v1/audio/tts - Text to speech. Text in, an MP3 out. Voice list at /v1/audio/tts/voices. Request: {"text": "Your order has shipped."}. Returns audio/mpeg.
- POST /v1/saas/uptime/create - Uptime monitor. Register a URL and poll its status. Create, list, then GET /v1/saas/uptime/status/{id} or /check/{id}. Request: {"url": "https://example.com", "name": "prod"}. Returns application/json.
- POST /v1/saas/monitor/create - Change monitor. Watch a page for content changes. Create, then GET /v1/saas/monitor/check/{id}. Request: {"url": "https://example.com", "name": "pricing page"}. Returns application/json.
## Plans (USD, billed monthly, cancel any time)
- Free: $0/month - 250 calls / month, 60 requests / minute
- Starter: $29/month - 25,000 calls / month, 300 requests / minute
- Pro: $99/month - 150,000 calls / month, 600 requests / minute
- Enterprise: $299/month - uncapped calls, 3,000 requests / minute
Every plan reaches every endpoint; the plan sets the volume. Errors: 401 unknown key, 402 monthly quota used, 429 over the per-minute rate.
## Contact
info@a3eecosystem.com