# Veqen

> Veqen is a pay-as-you-go API and MCP server that checks whether a signup, email address, IP address, phone number or domain is real, throwaway or risky. Every result has a 0-100 risk score, a verdict (admit, review, refuse) and plain-English reasons.

- Auth: `Authorization: Bearer vq_live_...` (create a key at https://veqen-app.com/app/keys).
- Free tier: 1,000 credits a month. Credit costs: email 1, ip 1, phone 1, domain 1, signup 3, mailbox 5.
- OpenAPI: https://veqen-app.com/openapi.json
- MCP server (streamable HTTP, OAuth or API key): https://veqen-app.com/mcp
- Full docs in one file: https://veqen-app.com/llms-full.txt
- Open-source Python and JavaScript SDKs: https://github.com/Keyveve/veqen-sdks

## Docs

- [Quickstart: your first check in 2 minutes](https://veqen-app.com/docs/index.md): Get an API key, make one request, and read the verdict. Copy-paste examples for curl, Python and JavaScript.
- [Authentication](https://veqen-app.com/docs/authentication.md): Send your API key in the Authorization header. How keys work, how to rotate them, and how to keep them safe.
- [Credits and billing](https://veqen-app.com/docs/credits.md): What each check costs, how free monthly credits work, prepaid packs, auto top-up, and what happens when you run out.
- [Errors](https://veqen-app.com/docs/errors.md): Every error has the same shape, a stable type and a plain-English message. Here's what each one means and how to fix it.
- [Rate limits](https://veqen-app.com/docs/rate-limits.md): How many requests per second you can send, the headers that tell you where you stand, and how to handle 429s.
- [Idempotency (safe retries)](https://veqen-app.com/docs/idempotency.md): Send an Idempotency-Key header and retries return the original answer without charging you twice.
- [Signup check](https://veqen-app.com/docs/signup-check.md): Email, IP and phone in one call, with cross-checks between them and a single verdict. The recommended way to screen new accounts.
- [Email check](https://veqen-app.com/docs/email-check.md): Check one email address for throwaway domains, typos, missing mail servers, new domains, role inboxes and (optionally) the mailbox itself.
- [Email list (batch)](https://veqen-app.com/docs/email-batch.md): Check up to 100 email addresses in one request. Same result per address as the single email check.
- [IP check](https://veqen-app.com/docs/ip-check.md): Find out where an IP address is, who owns its network, and whether it's a datacenter, VPN network, privacy relay or Tor exit.
- [Phone check](https://veqen-app.com/docs/phone-check.md): Validate a phone number, format it as E.164, and find its country, line type (mobile, VoIP, toll-free...) and original carrier.
- [Domain check](https://veqen-app.com/docs/domain-check.md): Is a company domain real? Whether it exists, receives email, is a throwaway provider, and when it was registered.
- [MCP server for AI agents](https://veqen-app.com/docs/mcp.md): Connect Veqen to Claude, ChatGPT, Cursor or any MCP client. OAuth or API key, the tools available, and what they cost.
- [SDKs and OpenAPI](https://veqen-app.com/docs/sdks.md): Official Python and JavaScript clients, the OpenAPI spec, and docs formatted for AI coding assistants.
- [Pay per call with x402](https://veqen-app.com/docs/agent-payments.md): Agents with a crypto wallet can pay for single checks in USDC over the x402 protocol, with no account or API key.
- [Risk scores and reasons](https://veqen-app.com/docs/reasons.md): How scores, levels and verdicts work, and every reason code we return with its impact and meaning.
- [Balance and usage](https://veqen-app.com/docs/account.md): Read your credit balance and daily usage from code. Both endpoints are free.

## Free tools

- [Disposable email checker](https://veqen-app.com/tools/disposable-email-checker): Free disposable email checker. Paste an address or domain to see if it's a temporary, throwaway inbox (Mailinator, 10 Minute Mail, Guerrilla Mail and thousands more).
- [Email address checker](https://veqen-app.com/tools/email-checker): Free email address checker. Validates syntax, catches typos like gmial.com, checks the domain's mail servers, and flags disposable, role and brand-new-domain addresses.
- [IP lookup](https://veqen-app.com/tools/ip-lookup): Free IP address lookup. See the country, city and network owner of any IPv4 or IPv6 address, and whether it's a datacenter, VPN network, privacy relay or Tor exit node.
- [VPN & proxy detector](https://veqen-app.com/tools/vpn-detector): Free VPN and proxy detector. Find out if an IP address belongs to a datacenter, a VPN-heavy network, a privacy relay or a Tor exit node.
- [Phone number validator](https://veqen-app.com/tools/phone-validator): Free phone number validator for every country. Checks if a number is real, formats it as E.164, and shows its line type (mobile, landline, VoIP, toll-free) and original carrier.
- [Domain age checker](https://veqen-app.com/tools/domain-age-checker): Free domain age checker. See when a domain was registered, its registrar, whether it receives email, and whether it publishes SPF and DMARC.
- [MX lookup](https://veqen-app.com/tools/mx-lookup): Free MX lookup. List a domain's mail servers in priority order and check whether it publishes SPF and DMARC, or refuses mail with a null MX.
- [Signup risk checker](https://veqen-app.com/tools/signup-risk-checker): Free signup risk checker. Combine an email, IP address and phone number into one score and verdict (admit, review, refuse) with plain-English reasons.

## Optional

- [How Veqen scores signup risk: sources, thresholds and limits](https://veqen-app.com/guides/how-veqen-scores-signup-risk): See how Veqen combines email, IP and phone signals, where its data comes from, and why a risk score is a screening suggestion rather than an identity check.
- [How to block disposable email addresses at signup](https://veqen-app.com/guides/block-disposable-emails): Why blocklists alone miss new throwaway domains, the three checks that catch them, and copy-paste code to block them in your signup form.
- [How to stop free trial abuse without hurting real signups](https://veqen-app.com/guides/stop-free-trial-abuse): The patterns behind repeat free-trial signups, which signals catch them, and a tiered response (admit, verify, refuse) that keeps conversion high.
- [Protect your AI app's free credits from abuse](https://veqen-app.com/guides/protect-ai-app-free-credits): Free AI credits are worth real money, so they attract scripted signups. How to stop credit farming without adding friction for real users.
- [How to detect VPN, proxy, datacenter and Tor traffic](https://veqen-app.com/guides/detect-vpn-proxy-tor): How IP intelligence tells a person on home broadband from a server, what each signal means, and how to respond without blocking real users.
- [How to validate phone numbers (and spot VoIP numbers)](https://veqen-app.com/guides/validate-phone-numbers): Parse what people type, store it in E.164, reject impossible numbers, and flag VoIP, premium-rate and toll-free lines, with code for every stack.
- [Email validation regex: why it isn't enough (and what to do instead)](https://veqen-app.com/guides/email-validation-regex): The regex most apps use, what it misses (typos, dead domains, throwaway inboxes), and a three-layer approach that actually keeps bad addresses out.
- [How to stop one person creating multiple accounts](https://veqen-app.com/guides/prevent-duplicate-accounts): Gmail dots, +tags and throwaway inboxes let one person look like many. Canonical emails, phone de-duplication and signup checks put a stop to it.
- [How to clean an email list before you send](https://veqen-app.com/guides/clean-email-list): Remove typos, dead domains, throwaway and role addresses from a list in batches of 100, and keep your sender reputation healthy.
- [Block fake signups in Next.js](https://veqen-app.com/integrations/nextjs): Screen signups in a Next.js App Router server action or route handler, with the visitor's real IP and a fail-open timeout.
- [Signup checks in Express (Node.js)](https://veqen-app.com/integrations/express): Express middleware that screens signups by email, IP and phone, with trust-proxy setup and a fail-open timeout.
- [Signup checks in Django](https://veqen-app.com/integrations/django): Validate signups in a Django form's clean() method, including the client IP behind a proxy and a fail-open timeout.
- [Signup checks in FastAPI](https://veqen-app.com/integrations/fastapi): An async FastAPI dependency that screens signups with httpx, reads the client IP correctly, and fails open.
- [Signup checks in Ruby on Rails](https://veqen-app.com/integrations/rails): A small Rails service object and controller check using Net::HTTP, with request.remote_ip and a fail-open timeout.
- [Signup checks in Laravel](https://veqen-app.com/integrations/laravel): A Laravel validation rule that rejects throwaway and fake signups using the HTTP client, with a fail-open timeout.
- [Block fake signups in Auth0 (pre-registration Action)](https://veqen-app.com/integrations/auth0): An Auth0 pre-user-registration Action that screens the email and IP of every new signup and denies throwaway and bot registrations.
- [Block fake signups in Firebase Authentication](https://veqen-app.com/integrations/firebase): A Firebase blocking function (beforeUserCreated) that rejects throwaway and bot signups before the account exists.
- [Screen Clerk signups with a webhook](https://veqen-app.com/integrations/clerk): Check every new Clerk user with a user.created webhook, and ban or flag throwaway and bot accounts automatically.
- [Block fake signups with Supabase Auth](https://veqen-app.com/integrations/supabase): Screen signups in a Supabase Edge Function before calling auth.signUp, so throwaway and bot accounts never get created.
- [Signup and lead checks in n8n, Zapier and Make](https://veqen-app.com/integrations/n8n): Check emails, phones and signups from no-code automations with a single HTTP request step, and route leads by verdict.
- [Disposable email domains list](https://veqen-app.com/downloads/disposable-email-domains.txt): public domain
