Base URL: https://api.flyingfishspace.com
Pass your API key in the X-API-Key header
on every request. No login, no OAuth, no cookies.
Submit raw or broken JSON. The engine runs up to 11 repair stages and returns the cleaned object. Charged 1 credit on success only.
curl https://api.flyingfishspace.com/json/v1/clean \
-H "X-API-Key: ffs_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Alice", "age": 30,}'
Response (200 — success)
{
"success": true,
"data": { "name": "Alice", "age": 30 },
"repairs": ["Removed trailing comma before '}'"],
"remaining_balance": 99
}
Response (422 — unrecoverable)
{
"success": false,
"error": "JSON structure could not be repaired.",
"repairs": ["Removed UTF-8 BOM", "Removed control characters"],
"remaining_balance": 99
}
Check the current balance of your API key. Not charged.
curl https://api.flyingfishspace.com/v1/status \ -H "X-API-Key: ffs_live_YOUR_KEY"
{
"key": "ffs_live_YOUR_KEY",
"balance": 84,
"status": "active"
}
Generate a new API key. First call per IP per 24 hours receives
100 free credits. Subsequent calls from the same network return a
key with 0 balance and gift_claimed: true.
curl -X POST https://api.flyingfishspace.com/v1/apply-key
{
"key": "ffs_live_Xk9mR3pN7qT2vY5z...",
"balance": 100,
"gift_claimed": false
}
const res = await fetch(
'https://api.flyingfishspace.com/json/v1/clean',
{
method: 'POST',
headers: {
'X-API-Key': 'ffs_live_YOUR_KEY',
'Content-Type': 'application/json',
},
body: brokenJsonString,
}
);
const { success, data, repairs } = await res.json();
if (success) console.log(data); // cleaned object
import requests
res = requests.post(
"https://api.flyingfishspace.com/json/v1/clean",
headers={"X-API-Key": "ffs_live_YOUR_KEY"},
data=broken_json_string,
)
result = res.json()
if result["success"]:
print(result["data"]) # cleaned object
req, _ := http.NewRequest("POST",
"https://api.flyingfishspace.com/json/v1/clean",
strings.NewReader(brokenJSON))
req.Header.Set("X-API-Key", "ffs_live_YOUR_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)