schemaforge-json-repair
Pricing
from $2.00 / 1,000 repaired items
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
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
| Field | Type | Required | Default | Rules |
|---|---|---|---|---|
payloads | array of strings | yes | none | 1 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_mode | boolean | no | false | false 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.
| Field | Type | Meaning |
|---|---|---|
index | integer | 1-based position in payloads |
status | string | success or error |
repaired | boolean | true when at least one fix was applied |
data | any JSON value or null | The repaired JSON, parsed. null on error |
repairs_applied | array of strings | Fix codes applied. Empty when none |
error_code | string or null | null on success. EMPTY_INPUT, SERVICE_UNREACHABLE, HTTP_<status>, BAD_ENGINE_RESPONSE, UNKNOWN_ERROR, or a code from the repair engine |
error_detail | string or null | Reason 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
| Event | Price |
|---|---|
| Run start | $0.00005 per run |
| Repaired item | $0.002 each ($2.00 per 1,000) |
| Failed item | free |
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_UNREACHABLEand 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.