ToolAssay

JSON repair

JSON repair: extracts structured JSON from messy text or LLM output, optionally validating and auto-correcting it against a JSON Schema

Answeringour last check, 2026-10-10
1 of 1checks answered this week
908 msmedian answer time
$0.006listed price per call
$0.006price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://api.17711.xyz/registry/extract-correct-service/v1/extract-correct/parse_json

CategoryCode and developer
Provider hostapi.17711.xyz
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days8 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-10 valid payment request 402$0.006 908 ms

Example input (from the provider)

{
  "body": {
    "schema": null,
    "text": "string"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$defs": {
    "AppliedFix": {
      "description": "One deterministic correction actually applied to the extracted value.",
      "properties": {
        "detail": {
          "description": "Human-readable detail of what changed.",
          "type": "string"
        },
        "path": {
          "description": "JSON Pointer to the field that was corrected (e.g. `/user/age`; `\"\"` = the whole value).",
          "type": "string"
        },
        "rule": {
          "description": "Which bounded correction rule fired (e.g. `type_coercion`, `additional_property_stripped`,\n`enum_case_insensitive_match`, `required_default_filled`, `clamped_to_minimum`,\n`clamped_to_maximum`, `array_truncated_to_max_items`).",
          "type": "string"
        }
      },
      "required": [
        "path",
        "rule",
        "detail"
      ],
      "type": "object"
    },
    "RemainingIssue": {
      "description": "One schema violation that could NOT be corrected -- never silently dropped or guessed.",
      "properties": {
        "keyword": {
          "description": "The JSON Schema keyword that failed (e.g. `pattern`, `format`, `minItems`, `oneOf`).",
          "type": "string"
        },
        "message": {
          "description": "The underlying validator's own error message.",
          "type": "string"
        },
        "path": {
          "description": "JSON Pointer to the field that still fails validation.",
          "type": "string"
        }
      },
      "required": [
        "path",
        "keyword",
        "message"
      ],
      "type": "object"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "properties": {
        "body": {
          "properties": {
            "schema": {
              "default": null,
              "description": "Optional JSON Schema to validate the extracted value against and auto-correct where a\nbounded, deterministic fix rule applies. Omitted = extraction only, no validation."
            },
            "text": {
              "description": "Free-form or messy text to extract structured JSON from -- already-valid JSON, JSON\nwrapped in prose or a markdown code fence, or malformed JSON (trailing commas,\nsingle-quoted strings, unquoted keys, a truncated array/object).",
              "type": "string"
            }
          },
          "required": [
            "text"
          ],
          "title": "ParseJsonRequest",
          "type": "object"
        },
        "bodyType": {
          "const": "json"
        },
        "method": {
          "const": "POST"
        },
        "type": {
          "const": "http"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "applied_fixes": {
              "description": "Every correction actually applied, in the order applied.",
              "items": {
                "$ref": "#/$defs/AppliedFix"
              },
              "type": "array"
            },
            "data": {
              "description": "The extracted (and, if a schema was supplied, corrected) JSON value."
            },
            "extraction_method": {
              "description": "How `data` was obtained: `\"direct\"` (already valid JSON), `\"repaired\"` (malformed JSON\nfixed in place), or `\"extracted_and_repaired\"` (isolated from surrounding text, then\nfixed).",
              "type": "string"
            },
            "remaining_issues": {
              "description": "Every schema violation that remains after correction -- non-empty only when `schema` was\nsupplied and at least one issue couldn't be fixed by a bounded v1 rule.",
              "items": {
                "$ref": "#/$defs/RemainingIssue"
              },
              "type": "array"
            },
            "valid": {
              "description": "Whether `data` satisfies `schema` after correction. `None` when no `schema` was supplied\n-- never conflated with \"assumed valid\".",
              "type": [
                "boolean",
                "null"
              ]
            }
          },
          "required": [
            "data",
            "extraction_method",
            "applied_fixes",
            "remaining_issues"
          ],
          "title": "ParseJsonResponse",
          "type": "object"
        },
        "type": {
          "const": "json"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON