API de Presend para desarrolladores
Endpoints de servidor gratuitos para tareas comunes, además de herramientas integrables del lado del cliente. Sin clave API. Sin registro.
Endpoints de servidor
Se ejecutan en la red edge de Cloudflare y devuelven JSON. Solo uso razonable — sin SLA oficial, el tráfico intenso o automatizado puede ser limitado sin aviso.
POST /api/hash
Returns SHA-256, SHA-1 and SHA-512 for any file up to 20MB.
curl -X POST --data-binary @file.pdf \
https://presend.pages.dev/api/hash
# {"size_bytes":17,"hashes":{"sha256":"...","sha1":"...","sha512":"..."}}
GET /api/url-clean
Strips 60+ tracking parameters (utm_*, fbclid, gclid...) from a URL.
curl "https://presend.pages.dev/api/url-clean?url=https://example.com/?utm_source=x"
# {"clean":"https://example.com/","removed":1,"valid":true}
POST /api/url-clean
Same, batched — up to 100 URLs per request.
curl -X POST -H "Content-Type: application/json" \
-d '{"urls":["https://a.com?fbclid=x","https://b.com?gclid=y"]}' \
https://presend.pages.dev/api/url-clean
GET /api/ip
Returns the caller's IP with geolocation, currency, language and EU/VPN flags.
curl https://presend.pages.dev/api/ip
GET /api/uuid
Generates random UUIDs (v4), up to 100 per request.
curl "https://presend.pages.dev/api/uuid?count=5"
GET /api/base64
Encode or decode Base64 text.
curl "https://presend.pages.dev/api/base64?action=encode&text=hello"
GET /api/jwt-decode
Decodes a JWT's header and payload (does not verify the signature).
curl "https://presend.pages.dev/api/jwt-decode?token=eyJhbGci..."
GET /api/timestamp
Current time, or convert between Unix timestamp and ISO date.
curl "https://presend.pages.dev/api/timestamp?unix=1700000000"
GET /api/color
Convert between hex, RGB and HSL color formats.
curl "https://presend.pages.dev/api/color?hex=ff5733"
GET /api/user-agent
Parses a User-Agent string into browser, OS and device type.
curl "https://presend.pages.dev/api/user-agent"
GET /api/password
Generates a cryptographically secure password with entropy estimate.
curl "https://presend.pages.dev/api/password?length=20&symbols=1"
GET /api/email-validate
Validates email syntax and checks for a valid MX record (real deliverability check).
curl "https://presend.pages.dev/api/email-validate?email=foo@example.com"
GET /api/favicon
Fetches the favicon URL for any domain.
curl "https://presend.pages.dev/api/favicon?domain=github.com"
GET/POST /api/csv-json
Converts between JSON and CSV. Nested objects are stringified, not flattened.
curl -X POST -H "Content-Type: application/json" \
-d '{"direction":"json-to-csv","data":"[{\"a\":1}]"}' \
https://presend.pages.dev/api/csv-json
GET /api/password-breach
Checks if a password appears in known data breaches (HIBP k-anonymity — your password is never sent or logged in full).
curl "https://presend.pages.dev/api/password-breach?password=..."
GET /api/email-disposable
Detects disposable/throwaway email providers from a list of 576+ known domains.
curl "https://presend.pages.dev/api/email-disposable?email=foo@mailinator.com"
GET /api/security-headers
Audits HTTP security headers (CSP, HSTS, X-Frame-Options...) and gives a letter grade.
curl "https://presend.pages.dev/api/security-headers?url=https://example.com"
GET /api/url-reputation
Checks a URL against URLhaus, a public malware/phishing database.
curl "https://presend.pages.dev/api/url-reputation?url=https://example.com"
GET /api/subdomains
Passive subdomain discovery via Certificate Transparency logs (crt.sh) — for auditing your own attack surface. Note: depends on crt.sh, which has occasional downtime outside our control.
curl "https://presend.pages.dev/api/subdomains?domain=example.com"
Herramientas del lado del cliente (embed)
Las herramientas de procesamiento de archivos (eliminar EXIF, comprimir PDF, etc.) se ejecutan completamente en el navegador — no se sube nada, por lo que no hay endpoint de servidor para estas. Intégralas directamente:
<iframe src="https://presend.pages.dev/tools/exif-remover?embed=1" width="100%" height="600" frameborder="0" ></iframe>
Herramientas disponibles
File Hash Checker
SHA-256 / SHA-1 / SHA-512 — server API available
URL Cleaner
Strip tracking params — server API available
IP Geolocation
IP, location, currency — server API available
UUID Generator
Random UUIDs — server API available
Base64 Encoder/Decoder
Encode/decode text — server API available
JWT Decoder
Decode JWT tokens — server API available
Timestamp Converter
Unix/ISO date conversion — server API
Color Converter
Hex/RGB/HSL — server API
User-Agent Parser
Browser/OS detection — server API
Password Generator API
Secure passwords with entropy — server API
Email Validator
Syntax + MX record check — server API
Favicon Fetcher
Get any site's favicon — server API
CSV/JSON Converter
Bidirectional — server API
Password Breach Check
HIBP-powered — server API
Disposable Email Detector
576+ known domains — server API
Security Headers Analyzer
CSP, HSTS grade — server API
URL Reputation Check
Malware/phishing lookup — server API
Attack Surface Discovery
Passive subdomain enum — server API
EXIF Remover
Strip GPS and metadata from photos (client-side)
PDF Compress
Reduce PDF file size (client-side)
Password Generator
Cryptographically secure passwords (client-side)
GET /api/api-stats
Public usage counters per endpoint, aggregated by day. No cookies, no IP stored.
curl "https://presend.pages.dev/api/api-stats"
Paquete npm
Un cliente JS sin dependencias que envuelve todos los endpoints anteriores.
npm install presend-api
const presend = require('presend-api');
const { uuids } = await presend.generateUuid(3);
Widget integrable
Añade una herramienta funcional directamente en tu sitio — sin iframe, impulsada por nuestra API. Compatible con: url-cleaner, uuid, color.
<div data-presend-tool="url-cleaner"></div> <script src="https://presend.pages.dev/widget.js" async></script>
Añade data-badge="false" para ocultar el enlace de crédito "Powered by Presend".
Especificación OpenAPI
Especificación legible por máquina para todos los endpoints de servidor: openapi.json
Código abierto
Todas las herramientas son de código abierto. Contribuye en GitHub o haz un fork para tus propios proyectos. github.com/presendapp/presend