AtlasSchema

AtlasSchema API

Check structured data from your own code

The API behind the AtlasSchema WordPress connector. Check any page’s schema.org structured data against Google’s rich result rules, or send the graphs your site prints and keep them watched. One key per website. Building structured data in PHP or JavaScript? The SDK wraps this API and also builds and checks offline.

Check one page
curl -X POST "https://api.atlasschema.com/v1/check" \
  -H "Authorization: Bearer $ATLASSCHEMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/pricing/"}'

Quick start

From sign-up to your first check

Add your website

Sign up free and add the website’s address in the dashboard. The first full check starts on its own.

Create a key

On the website’s page, open Connect and create a key (as_live_…). It is shown once: keep it on your server, never in browser code.

Call the API

Check a page with POST /v1/check, or send the pages your site prints with POST /v1/pages. Each page checked counts toward your plan’s monthly pages.

const res = await fetch('https://api.atlasschema.com/v1/check', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.ATLASSCHEMA_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ url: 'https://example.com/pricing/' }),
});
const page = await res.json();
if (!res.ok) throw new Error(page.error.message);
console.log(page.status, page.types, page.errors);

Reference

Endpoints

Base address https://api.atlasschema.com. Send your key as Authorization: Bearer as_live_…. Every error is {"error": {"code", "message"}}.

RequestWhat it does
GET /v1/siteThe key’s website: name, address, score (0–100), how many pages are valid, have warnings or errors, the dashboard link, and this month’s usage. Free.
POST /v1/pagesSend 1–50 pages as { "source", "pages": [{ "url", "title", "graph": [nodes] }] }. Each is checked and kept (with its history on paid plans). Answers { "results": [{ url, status, errors, warnings }] }. One page each.
POST /v1/checkCheck one address now: { "url" } → status, types, errors and warnings with their fixes, sources and the graph. Stores nothing. One page.
GET /v1/usageYour plan, pages checked this month, what is left and when it resets.

Errors

Error codes

CodeStatusMeaning
missing_api_key, invalid_api_key401No key, or an unknown or removed key (deleting a website removes its keys).
suspended403The website or account is suspended.
feature_not_in_plan403The plan does not include checks.
quota_exceeded429This month’s pages are used up; the answer includes your usage.
rate_limited429Too many requests; wait for Retry-After.
server_busy503At capacity right now; try again after Retry-After. Never billed.
invalid_pages, invalid_url400The body is not what the endpoint expects; the message names the field.
wrong_site400A page is not on the key’s website.
no_site_url400The key belongs to a project without a website address.
limit_pages413The website already holds the most pages it can keep.
fetch_failed, not_html400The address could not be read, or is not a web page.

Using WordPress?

No code needed: the free Atlas Schema plugin uses this API for you. Paste your key in Schema → Validate.

How to connect