modembin.api

public API. encode audio over GET, no keys needed

Every endpoint generates a WAV file on the fly and returns it as audio/wav. No storage, no auth, just query params.

All responses include Access-Control-Allow-Origin: * for cross-origin use.

GET /api/encode

Encode text as FSK modem audio.

text required Text to encode (max 2,048 bytes)
protocol optional Protocol ID (default: bell103-300)
PROTOCOLS bell103-300bell103-150bell103-110bell202v21rtty
EXAMPLE /api/encode?text=HELLO+WORLD&protocol=bell103-300

GET /api/callerid

Generate a Caller ID burst (Bell 202 MDMF).

name required Caller name (max 15 chars)
number required Phone number, digits only (max 15)
EXAMPLE /api/callerid?name=JOHN+DOE&number=5558675309

GET /api/dtmf

Generate a DTMF touch-tone sequence.

digits required Digit sequence, max 128 (valid: 0 1 2 3 4 5 6 7 8 9 A B C * # D)
EXAMPLE /api/dtmf?digits=5558675309

GET /api/bluebox

Generate Blue Box MF (multi-frequency) tones.

keys required Comma-separated MF keys (max 128)
VALID KEYS 01234567892600KPKP2STST2ST3
EXAMPLE /api/bluebox?keys=KP,1,2,3,ST

GET /api/protocols

List available protocols with metadata. Returns JSON.

No parameters.

Errors

Invalid or missing params return JSON with a 400 status:

{"error": "Missing required parameter: text"}

Usage

Embed directly in HTML:

<audio src="/api/encode?text=HELLO" controls></audio>

Fetch from any language:

curl -o modem.wav "https://modembin.com/api/encode?text=HELLO"