Developers
API Integrations
Developer API · v1

Build on top of Trinsfer

Automate file delivery from your CI/CD pipeline, embed speed tests into your dashboards, manage user storage in bulk. Our REST API is JSON, predictable, and works with curl, Postman or any HTTP client.

Free

$0 forever

For developers and indie hackers experimenting with the API.

  • 2 API keys
  • 60 req/min · 5 000 req/month free
  • Max transfer expiration: 7 days
  • $0.001 / request beyond quota
Get started

Pro Monthly

$9.99 / month

For teams shipping production workloads with growing volumes.

  • 10 API keys
  • 600 req/min · 50 000 req/month free
  • Max transfer expiration: 30 days
  • $0.0005 / request beyond quota
Choose Pro Monthly

Pro Annual

$8.33 / month, billed yearly

For power users who need long retention and the cheapest per-request price.

  • 100 API keys
  • 3 000 req/min · 500 000 req/month free
  • Max transfer expiration: 395 days
  • $0.0002 / request beyond quota
Choose Pro Annual
New here? Read the developer guide first.
Step-by-step auth, request signing, error envelopes, code samples in cURL, JavaScript, Python and PHP.
Open developer docs →

Authentication

GET/api/v1/account

All requests must be authenticated with a Bearer token (Authorization: Bearer tk_xxxxxxxx_…). Generate keys at /profile#api-keys. Every reply carries X-RateLimit-* and X-Quota-* headers so SDKs can self-throttle.

Transfers

GET/api/v1/transfersscope: transfers:read

List your transfers (most recent first). Supports ?limit=20&offset=0.

POST/api/v1/transfersscope: transfers:write

Create a transfer envelope. Returns token, upload_url (use the standard /upload.php flow with chunked TUS) and download_url.

GET/api/v1/transfers/<token>

Retrieve transfer metadata + files list + signed per-file download URLs.

PATCH/api/v1/transfers/<token>

Update title, message, recipient_email, expires_days.

DELETE/api/v1/transfers/<token>

Soft-delete a transfer (files purged after the grace period).

Speed tests

GET/api/v1/speed-testsscope: speed:read

List your stored speed test results.

POST/api/v1/speed-testsscope: speed:write

Submit a result: ping_ms, jitter_ms, download_mbps, upload_mbps, public?, display_name?.

GET/api/v1/speed-tests/<id>

Retrieve one of your speed test results.

DELETE/api/v1/speed-tests/<id>

Delete a single result from your history.

Account & usage

GET/api/v1/account

Returns current plan, requests-per-minute ceiling, monthly free quota and any overage you owe.

Example: list transfers with curl

# Token generated at /profile#api-keys
curl https://trinsfer.com/api/v1/transfers \
     -H "Authorization: Bearer tk_a1b2c3d4_…"

# 200 OK — every response includes throttling headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-Quota-Limit-Month: 5000
X-Quota-Used-Month: 1217
X-Quota-Overage: 0
{
  "data": [ ... ],
  "pagination": { "limit": 20, "offset": 0, "total": 87 }
}

# Detail / update / delete using path params
curl https://trinsfer.com/api/v1/transfers/a3k9zd -H "Authorization: Bearer tk_…"
curl -X PATCH  https://trinsfer.com/api/v1/transfers/a3k9zd -H "Authorization: Bearer tk_…" -d '{"title":"Updated"}'
curl -X DELETE https://trinsfer.com/api/v1/transfers/a3k9zd -H "Authorization: Bearer tk_…"

Pay-per-use billing

Each plan includes a free monthly request quota. Past that, every request adds a tiny pay-per-use charge that you can settle on demand from /profile#api-keys: Free $0.001 / req · Pro Monthly $0.0005 / req · Pro Annual $0.0002 / req. Unpaid overage above $20 returns 402 Payment Required with a pay_url pointing to your profile.

Transfer expiration policy

Trinsfer enforces a maximum retention based on your active plan. Requesting expires_days beyond your limit returns 422 expiry_too_long with the maximum allowed:

Webhooks

Subscribe to events on Pro plans: transfer.created, transfer.downloaded, transfer.expired, transfer.password_failed, speed_test.submitted. Payloads are signed with HMAC-SHA256 using your webhook secret — verify the X-Trinsfer-Signature header on every request.

Generate your first API key

Sign in and head to your profile to generate keys and read the full developer guide with code samples in cURL, JavaScript, Python and PHP.

Open profile Read developer guide