482 scrapers live47.7K runs1,562 usersRebuilt in the last 30 days: 482 of 482

Scrapers / Developer & File Tools

JSON Schema Validator logo

JSON Schema Validator

hipersoft/json-schema-validator

Validate JSON documents or every row of a dataset against a JSON Schema and get every failing path with a clear message. Enforce data contracts and QA scraped data.

Total users

2

Monthly users

1

Total runs

79

Per record validated

$0.001

Last rebuilt

Oct 26, 2026

Overview

Validate JSON documents against a JSON Schema in bulk — a single object or an array where each item is checked as one record — and get every failing path with a clear message. Enforce data contracts and QA scraped or imported data at scale.

JSON Schema Validator input — configure the options in the Apify Console

What it does

  • Validates data against a standard JSON Schema (Draft 7 / 2020-12), with format checks (email, uri, date…).
  • Handle a single object, an array of records, or a JSON/NDJSON file URL.
  • Returns per-record valid/invalid plus every error path and message.

Use cases

  • Data quality — QA scraped datasets against an expected schema.
  • API contracts — verify payloads match a schema before ingest.
  • ETL guards — catch malformed records before they hit your database.

Input

{
  "schemaText": "{ \"type\": \"object\", \"properties\": { \"email\": { \"type\": \"string\", \"format\": \"email\" } }, \"required\": [\"email\"] }",
  "dataText": "[{ \"email\": \"a@b.com\" }, { \"age\": 5 }]",
  "allErrors": true
}
Field Type Description
schemaText string The JSON Schema (as text).
dataText string JSON object or array to validate.
dataUrl string Optional JSON/NDJSON file URL instead of pasted data.
allErrors boolean Collect all errors per record (vs stop at first).

Output

JSON Schema Validator output — the results as a clean dataset

{ "index": 1, "valid": false, "errorCount": 1, "firstError": "/ must have required property 'email'", "errors": ["..."] }

Output schema

Field Type Description
index integer Record index in the input array.
valid boolean Whether the record passed.
errorCount integer Number of validation errors.
firstError string First error path + message.
errors array All error messages.

FAQ

Which JSON Schema drafts are supported? Modern drafts including Draft 7 and 2020-12, with common string formats.

Can I automate it? Yes — via integrations on the Apify platform and the Apify API.

Notes

Original clean-room implementation.

Input

FieldTypeDescription
schemaText
JSON Schema
stringThe JSON Schema to validate against, as text.
dataText
JSON data
stringThe JSON to validate — a single object, or an array of objects (each validated as one record). Leave empty to use a data URL.
dataUrl
Data URL
stringOptional: a link to a JSON/NDJSON file to validate instead of pasting data.
allErrors
Report all errors
booleanCollect every validation error per record instead of stopping at the first.
Default: true

API

curl -X POST "https://api.apify.com/v2/acts/hipersoft~json-schema-validator/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "schemaText": "{\n  \"type\": \"object\",\n  \"properties\": { \"email\": { \"type\": \"string\", \"format\": \"email\" }, \"age\": { \"type\": \"integer\", \"minimum\": 0 } },\n  \"required\": [\"email\"]\n}",
  "dataText": "[\n  { \"email\": \"a@b.com\", \"age\": 30 },\n  { \"age\": -1 }\n]"
}'

Pricing

EventPricePaid plans from
Record validated
One JSON record validated against your schema
$0.001$0.0005

You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.

Related scrapers

Bulk Image Downloader

Download thousands of images from a list of URLs and store each in the key-value store with a public link. Returns content type, size, dimensions and SHA-256 per image. Bulk-ready. Great for datasets, backups and media pipelines.

8,102 runs · 103 users · $0.056 / url processed

Text to Speech

Convert any text to natural-sounding speech as an MP3 download. 300+ premium neural voices across 70+ languages, adjustable rate, pitch and volume. Great for voiceovers, videos, accessibility and audio content. No setup.

278 runs · 22 users · $0.01 / audio generated

Google Maps Email Extractor

Search Google Maps for businesses, then crawl each business website to extract emails, social profiles and extra phone numbers. Turns any Maps search into a ready lead list. No setup.

159 runs · 8 users · $0.006 / business lead scraped

Website Screenshot

Capture full-page or viewport screenshots of any URL as PNG or JPEG, at any device size. For monitoring, previews, thumbnails and automation workflows.

156 runs · 3 users · $0.004 / screenshot captured

Bulk URL Status Checker

Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry.

154 runs · 13 users · $0.002 / url checked

Google Search Scraper

Scrape Google Search results (organic listings) for any query: title, URL, displayed URL, snippet and position. Multi-query, per-country/language, pagination. Uses Google SERP proxy — reliable, no captcha, no setup.

121 runs · 8 users · $0.001 / result scraped
Need a source that isn't here?

Send the site and the fields. We build it and you get it first.

Request a build