API Documentation
Developer-friendly API for extracting and validating structured data from URLs.
Overview
StructuredValidator provides a RESTful API for extracting JSON-LD structured data from web pages. The API is free to use with rate limiting to ensure fair usage.
Base URL: https://structuredvalidator.com/api
Rate Limit: 50 requests per hour per IP address
Authentication
No authentication is required. The API is publicly accessible with rate limiting based on IP address.
Endpoints
/api/extract-schemaExtract JSON-LD structured data from a given URL.
Request Body
{
"url": "https://example.com/page"
}Response
{
"success": true,
"url": "https://example.com/page",
"schemasFound": 2,
"schemas": [
{
"type": "json-ld",
"content": {
"@context": "https://schema.org",
"@type": "Article",
"headline": "Example Article",
"author": {
"@type": "Person",
"name": "John Doe"
}
},
"raw": "..."
}
]
}Response Headers
X-RateLimit-Limit: 50
X-RateLimit-Remaining: 49
X-RateLimit-Reset: 2025-11-06T14:30:00.000Z
Error Response
{
"statusCode": 400,
"message": "URL parameter is required"
}
// Rate limit exceeded
{
"statusCode": 429,
"message": "Rate limit exceeded. Try again after..."
}Example Request
curl -X POST https://structuredvalidator.com/api/extract-schema \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/page"}'Rate Limiting
To ensure fair usage, the API implements rate limiting:
- Limit: 50 requests per hour per IP address
- Window: 1 hour rolling window
- Headers: Rate limit information is included in every response
If you exceed the rate limit, you'll receive a 429 Too Many Requests response with information about when you can retry.
Best Practices
- Check the
X-RateLimit-Remainingheader to monitor your usage - Implement exponential backoff when receiving rate limit errors
- Cache responses when possible to reduce API calls
- Validate URLs on the client side before making API calls
- Handle network errors and timeouts gracefully
HTTP Status Codes
200 OK
Request successful, schemas extracted
400 Bad Request
Invalid URL or missing parameters
429 Too Many Requests
Rate limit exceeded
500 Internal Server Error
Server error while processing request
Need Help?
For questions about the API or to report issues, please refer to our FAQ page.
This API is provided as-is for informational purposes. For production use cases requiring higher rate limits, please consider running your own instance.
Need schema validation tools? Check outGrade Wisefor calculate grades.