Presend API для разработчиков

Бесплатные серверные эндпоинты для распространённых задач, плюс встраиваемые клиентские инструменты. Ключ API не требуется. Регистрация не требуется.

Серверные эндпоинты

Работают на edge-сети Cloudflare и возвращают JSON. Только добросовестное использование — без официального SLA, интенсивный или автоматизированный трафик может быть ограничен без предупреждения.

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"

Клиентские инструменты (встраивание)

Инструменты обработки файлов (удаление EXIF, сжатие PDF и т.д.) полностью работают в браузере — ничего не загружается, поэтому для них нет серверного эндпоинта. Встраивайте напрямую:

<iframe 
  src="https://presend.pages.dev/tools/exif-remover?embed=1" 
  width="100%" 
  height="600" 
  frameborder="0"
></iframe>

Доступные инструменты

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"

npm-пакет

JS-клиент без зависимостей, оборачивающий все эндпоинты выше.

npm install presend-api
const presend = require('presend-api');
const { uuids } = await presend.generateUuid(3);

View on npm

Встраиваемый виджет

Добавьте рабочий инструмент прямо на свой сайт — без iframe, работает напрямую через наш API. Поддерживает: url-cleaner, uuid, color.

<div data-presend-tool="url-cleaner"></div>
<script src="https://presend.pages.dev/widget.js" async></script>

Добавьте data-badge="false" чтобы скрыть ссылку «Powered by Presend».

Спецификация OpenAPI

Машиночитаемая спецификация для всех серверных эндпоинтов: openapi.json

Открытый исходный код

Все инструменты имеют открытый исходный код. Внесите вклад на GitHub или сделайте форк для своих проектов. github.com/presendapp/presend