Skip to main content

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

POST/api/extract-schema

Extract 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-Remaining header 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.