POST raw data in one format, get it back in another. JSON to CSV, XML to JSON, Markdown to HTML. No cloud function, no Lambda cold start.
Every operation in Smelter is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/transforms — list all transforms with optional search and filter query parametersPOST /api/transforms — create a new transform recordGET /api/transforms/{id} — retrieve a single transform by IDPUT /api/transforms/{id} — update an existing transformDELETE /api/transforms/{id} — remove a transformGET /api/stats — aggregated statisticsGET /api/health — health check endpoint for monitoringThe moment you store transforms in someone else's cloud, you have accepted their terms, their pricing changes, and their uptime. Smelter puts that decision back in your hands with a standalone binary that runs anywhere you can run a Linux process.
Point curl at /api/transforms to interact with Smelter programmatically. The API follows predictable REST conventions: GET to list or fetch, POST to create, PUT to update, DELETE to remove. The response schema matches the internal data model exactly, so what you see in the dashboard is what the API returns.
A freelance consultant keeps Smelter running on a home server. Client transforms stay on local disk, which simplifies the privacy section of every contract. The search endpoint powers a custom dashboard built with a static site generator. Total infrastructure cost: the electricity to run a Raspberry Pi.
GET /api/transforms — List all transforms. Supports ?q=keyword for searchPOST /api/transforms — Create a new transform. Send JSON with at least nameGET /api/transforms/{id} — Fetch one transform by IDPUT /api/transforms/{id} — Update fields on an existing transformDELETE /api/transforms/{id} — Remove a transformGET /api/stats — Returns total countGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted data transformation API. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool smelter
PORT=10040 ./smelter
http://localhost:10040
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export SMELTER_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./smelter
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.