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

Docs →

URL Cleaner

Strip tracking params — server API available

Docs →

IP Geolocation

IP, location, currency — server API available

Docs →

UUID Generator

Random UUIDs — server API available

Docs →

Base64 Encoder/Decoder

Encode/decode text — server API available

Docs →

JWT Decoder

Decode JWT tokens — server API available

Docs →

Timestamp Converter

Unix/ISO date conversion — server API

Docs →

Color Converter

Hex/RGB/HSL — server API

Docs →

User-Agent Parser

Browser/OS detection — server API

Docs →

Password Generator API

Secure passwords with entropy — server API

Docs →

Email Validator

Syntax + MX record check — server API

Docs →

Favicon Fetcher

Get any site's favicon — server API

Docs →

CSV/JSON Converter

Bidirectional — server API

Docs →

Password Breach Check

HIBP-powered — server API

Docs →

Disposable Email Detector

576+ known domains — server API

Docs →

Security Headers Analyzer

CSP, HSTS grade — server API

Docs →

URL Reputation Check

Malware/phishing lookup — server API

Docs →

Attack Surface Discovery

Passive subdomain enum — server API

Docs →

EXIF Remover

Strip GPS and metadata from photos (client-side)

Docs →

PDF Compress

Reduce PDF file size (client-side)

Docs →

Password Generator

Cryptographically secure passwords (client-side)

Docs →

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);

View on npm

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