JSON Schema Generator — Infer Draft-07 Schema from Any JSON avatar

JSON Schema Generator — Infer Draft-07 Schema from Any JSON

Pricing

$20.00 / 1,000 file processeds

Go to Apify Store
JSON Schema Generator — Infer Draft-07 Schema from Any JSON

JSON Schema Generator — Infer Draft-07 Schema from Any JSON

Infer a JSON Schema from a sample via API. Input: a JSON URL or pasted JSON. Output: a draft-07 JSON Schema with types, required fields, nested object and array item schemas, string formats, and detected enums. Cheap flat pay-per-file pricing per inference.

Pricing

$20.00 / 1,000 file processeds

Rating

0.0

(0)

Developer

Anthony Snider

Anthony Snider

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

JSON Schema Inferer

Turn any JSON sample into a clean, draft-07 JSON Schema in one call.

Live on the Apify Store — run it instantly or call it as an agent tool via Apify MCP.

What you get

  • Types for every value (string, integer, number, boolean, object, array, null), with unions when samples disagree.
  • Required fields — object keys are required; for arrays of objects, only keys present in every item are required.
  • Nested objects & arrays inferred recursively; array item schemas are merged across all elements.
  • Format detection on strings: date-time, date, email, uri, uuid.
  • Small enums detected automatically for repeated scalar values in arrays.
  • Stats per sample: property count, required fields, formats, and enums detected.

Feed it a URL that returns JSON, or paste raw JSON directly. Bulk-friendly — pass arrays of URLs or JSON strings.

Input

{
"url": "https://jsonplaceholder.typicode.com/users/1",
"detectFormats": true,
"detectRequired": true
}

Or paste a sample instead of a URL:

{
"json": "{ \"id\": 1, \"email\": \"ada@example.com\", \"createdAt\": \"2024-01-15T09:30:00Z\", \"tags\": [\"a\", \"b\"] }"
}

Output

{
"source": { "type": "json" },
"rootType": "object",
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": { "type": "integer" },
"email": { "type": "string", "format": "email" },
"createdAt": { "type": "string", "format": "date-time" },
"tags": { "type": "array", "items": { "type": "string" } }
},
"required": ["id", "email", "createdAt", "tags"]
},
"stats": { "properties": 4, "requiredFields": 4, "formatsDetected": 2, "enumsDetected": 0 }
}

Each inferred schema is one file-processed charge.