JSON Schema Generator — Infer Draft-07 Schema from Any JSON
Pricing
$20.00 / 1,000 file processeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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.

