URL Extension Service

Documentation

The service is available as a JSON API. No key is required.

Endpoint

GET  https://urls.dwainosaur.com/api/v1/extend?url=<url>&style=<style>&length=<n>
POST https://urls.dwainosaur.com/api/v1/extend

POST accepts a JSON body or a form body with the same three fields. Responses are JSON. Cross-origin requests are allowed.

Parameters

FieldRequiredDescription
urlyesThe destination. http or https. A missing scheme is treated as https. Hosts on private networks are refused.
stylenoOne of the style identifiers below. Default enterprise.
lengthnoTarget length of the extended URL in characters, 100 to 2,000. Default 1,000. The result is never longer than this unless the destination itself needs more.

Styles

IdentifierNameShape
enterpriseEnterprise path/platform/v3/regions/us-east-2/tenants/tnt-4
trackingTracking parameters/c?utm_source=newsletter&utm_medium=email&ut
hexRaw encoding/a8f3e2c9/d1b04f7a6e5d3c2b1a0f9e8d7c6b5a4f/3
identifiersIdentifier chains/documents/8f3e2c9d-1b04-4f7a-6e5d-3c2b1a0f9
gpsGPS trail/lat/51.50741/lng/-0.12780/alt/11.3/hdg/271/
postalPostal address/country/GB/region/greater-london/postcode/S
airlineAirline itinerary/booking/pnr/K7X9QL/segment/2/carrier/BA/fli
dnaDNA sequence/sequence/ATCGGATTACAGGCTTAACGTTAGC/exon/3/c
piDigits of pi/pi/3.1415926535/8979323846/2643383279/50288
timestampsTimestamps/t/2026/09/07/14/32/07/183442019/UTC/2026/09
javaJava package/com/dwainosaur/platform/internal/impl/Abstr
windowsWindows desktop/C:/Users/Administrator/Desktop/New%20folder
redirectsNested redirects/redirect?to=%2Fredirect%3Fto%3D%252Fredirec
legalesePolicy document/legal/terms-of-service/section-14/subsectio
filesystemFilesystem/home/deploy/2019-03-11/backup/backup-final/
chessChess game/game/1.e4/e5/2.Nf3/Nc6/3.Bb5/a6/4.Ba4/Nf6/5
standardsStandards citation/iso/iec/27001/2022/annex/A/control/8.24/cla
countdownReassurance/almost/there/almost/there/one/more/segment/

GET /api/v1/styles returns the same list as JSON.

Response

{
  "url": "https://urls.dwainosaur.com/platform/v3/regions/us-east-2/...",
  "length": 1000,
  "requested_length": 1000,
  "style": "enterprise",
  "destination": "https://example.com/",
  "minimum": false
}

minimum is true when the destination alone needs more characters than requested. The URL returned is then the shortest valid one.

Errors

StatusMeaning
400The destination or a parameter was rejected. The body carries an error field with the reason.
429Too many requests from one address. Retry after the number of seconds in Retry-After.

Examples

curl "https://urls.dwainosaur.com/api/v1/extend?url=https://example.com"
curl "https://urls.dwainosaur.com/api/v1/extend?url=https://example.com&style=chess&length=2000"
curl -X POST https://urls.dwainosaur.com/api/v1/extend \
  -H "content-type: application/json" \
  -d '{"url":"https://example.com","style":"dna","length":1500}'

Resolution

The destination is encoded inside the extended URL. Nothing is stored, so links do not expire and cannot be edited or revoked. A request to an extended URL receives a permanent redirect to its destination.

Acceptable use

Extended URLs may not be used to disguise the destination of phishing, malware, or other content that would be blocked if the destination were visible. Destinations that resolve to private networks are refused at generation. Reports go to abuse@dwainosaur.com and are acted on.