schemaforge-json-repair avatar

schemaforge-json-repair

Pricing

from $2.00 / 1,000 repaired items

Go to Apify Store
schemaforge-json-repair

schemaforge-json-repair

Fix broken JSON from AI models, scrapers and logs. Repairs trailing commas, unquoted keys, single quotes, missing brackets and cut-off output without rewriting your values. Batch up to 10,000 items. Pay only for successful repairs: $2 per 1,000.

Pricing

from $2.00 / 1,000 repaired items

Rating

0.0

(0)

Developer

War_Knoc

War_Knoc

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Security

Limited permissions

Share

SchemaForge: Broken JSON Repair

Paste in broken JSON from an AI model, scraper or log, and get back valid JSON plus a list of every fix applied.

What it does

Repairs JSON structure only. Your keys and values are never changed, added or removed.

Fixes:

  • Trailing commas: ["a", "b",]
  • Unquoted keys: {price: 9.99}
  • Single quotes used instead of double quotes
  • Missing closing brackets and braces
  • Output cut off partway by an AI model

Does not: guess missing values, translate other formats (YAML, XML, CSV) into JSON, or validate against your own schema.

Input

FieldTypeRequiredDefaultRules
payloadsarray of stringsyesnone1 to 10,000 entries. One broken JSON text per entry. Empty or non-string entries return an EMPTY_INPUT error row and are not charged.
strict_modebooleannofalsefalse applies every available structural repair. true applies only safe structural fixes, so more entries may return as errors.

Example input:

{
"payloads": ["{\"name\": \"Widget\", \"tags\": [\"a\", \"b\",], price: 9.99"],
"strict_mode": false
}

Output

One dataset row per input entry. Rows may arrive out of order; sort by index.

FieldTypeMeaning
indexinteger1-based position in payloads
statusstringsuccess or error
repairedbooleantrue when at least one fix was applied
dataany JSON value or nullThe repaired JSON, parsed. null on error
repairs_appliedarray of stringsFix codes applied. Empty when none
error_codestring or nullnull on success. EMPTY_INPUT, SERVICE_UNREACHABLE, HTTP_<status>, BAD_ENGINE_RESPONSE, UNKNOWN_ERROR, or a code from the repair engine
error_detailstring or nullReason for the error. null on success

Example output row:

{
"index": 1,
"status": "success",
"repaired": true,
"data": {"name": "Widget", "tags": ["a", "b"], "price": 9.99},
"repairs_applied": ["REMOVED_TRAILING_COMMAS", "QUOTED_UNQUOTED_KEY", "BALANCED_UNCLOSED_STRUCTURES_}"],
"error_code": null,
"error_detail": null
}

Download results as JSON, CSV or Excel, or read them from the dataset API.

Cost per run

EventPrice
Run start$0.00005 per run
Repaired item$0.002 each ($2.00 per 1,000)
Failed itemfree

Cost of one run = $0.00005 + ($0.002 x number of successful repairs). Examples: 1 item = $0.00205. 1,000 items = $2.00005. 10,000 items = $20.00005.

If you set a maximum charge per run, the Actor stops at that limit. You get exactly the repaired rows you paid for, and unprocessed entries are not charged.

Limits

  • 10,000 entries per run. A longer list fails the run with a clear message before anything is processed or charged. Split it across runs.
  • 30 second timeout per entry. An entry that times out returns SERVICE_UNREACHABLE and is not charged.
  • Default run timeout 3,600 seconds. Default memory 1,024 MB.
  • Aborting a run stops new repairs at once. Finished rows stay in the dataset.

Call it from code or an agent

Run it through the Apify API, the Apify MCP server, a schedule, or Zapier, Make and n8n. Send the input JSON above and read the default dataset.