Documentation
Submit URLs and receive structured SEO data that AI systems can use directly: metadata, schema, headings, questions, links, tables, entities, key facts, and quality warnings. Free credits on registration.
Source Data turns web pages into compact, structured fields for AI and SEO pipelines. You send URLs. The API returns the important page signals instead of full raw HTML.
Step 1
Create a source job with one or more public URLs. The platform reserves the maximum cost up front and returns a request_id.
Step 2
Each URL is processed independently. The result includes titles, meta descriptions, canonical URLs, schema, headings, questions, links, tables, lists, entities, key facts, and quality warnings.
Step 3
Poll the job endpoint until the status is terminal. Feed the structured JSON into content briefs, competitor research, internal tools, or LLM workflows.
Reserve the maximum cost, then pay only for the work completed. No subscriptions, no monthly minimums.
Exchange Rate
1 000
credits per $1 USD
Cost per extracted URL
5
credits ≈ $0.005
Unavailable URL
1
credit processing fee ≈ $0.001
| URL result | Captured credits | Refund policy |
|---|---|---|
| Page extracted successfully | 5 credits | No refund. Full source data was delivered. |
| HTTP 404, HTTP 403, blocked, unavailable | 1 credit | The extraction part is refunded. 4 credits return to the wallet. |
| System or dispatch failure | 0 credits | Full refund. Infrastructure failures are not billed. |
Structured Output
Source Data is designed for AI systems that need facts and page structure, not a full page dump. Each item includes the original URL, final URL, extraction status, HTTP status when available, extracted fields, and billing details for that URL.
SEO signals
Title, meta description, canonical, robots, language, schema, headings.
Content structure
Primary heading, heading outline, tables, lists, questions, key facts.
Links
Internal links, external links, anchors, and destination URLs.
Quality warnings
Missing headings, missing metadata, low content, HTTP errors, and blocked pages.
{
"url": "https://example.com/article",
"status": "success",
"metadata": {
"title": "Example article",
"meta_description": "Short page summary"
},
"headings": [
{"level": "h1", "text": "Example article"}
],
"billing": {
"charged_credits": 5,
"refunded_credits": 0
}
}
Comparison
Source Data is not a replacement for SERP data. It is the next layer. Use SERP API when you need to discover ranking URLs for a keyword. Use Source Data API when you already have URLs and need clean page-level signals for AI.
Start here when you have a keyword
Input
Keyword, country and number of Google result pages.
Output
Ranking positions, result titles, URLs and snippets.
Use it for
Competitor discovery, keyword research, visibility checks and building URL lists for deeper analysis.
Pricing
9 credits per SERP page.
Use this when you have URLs
Input
One or more public URLs selected from SERP results, a sitemap, your own site, or a competitor list.
Output
Metadata, schema, headings, questions, links, tables, key facts, warnings and per-URL billing.
Use it for
Understanding page structure, preparing AI content briefs, extracting competitor signals and checking source quality.
Pricing
5 credits per extracted URL, or 1 credit processing fee when a URL is unavailable.
Recommended workflow
Query SERP API for a keyword, take the most relevant ranking URLs, then send those URLs to Source Data API. Your AI receives both search context and structured evidence from the pages that compete in that topic.
API Reference
Base URL
https://app.seodataforai.com/api/v1/source
Authentication
X-API-Login: YOUR_LOGIN X-API-Key: YOUR_KEY
/jobs
Creates a source extraction job. Jobs are processed asynchronously. Use the returned request_id to poll for results.
urls
Array of public URLs, Required
1-10 URLs per job
{
"urls": [
"https://example.com/article",
"https://seodataforai.com/docs/source-data"
]
}
/jobs/{id}
Retrieves the current job status and, when complete, the extracted source data. Terminal statuses include success, partial_success, completed, and failed.
extracted_urls_count - number of URLs with extracted source datanot_extracted_urls_count - unavailable, blocked, or unextractable URLsbilling_breakdown - extraction credits and processing creditsitems - per-URL source data and quality warnings{
"request_id": "src_9d4b...",
"status": "partial_success",
"extracted_urls_count": 1,
"not_extracted_urls_count": 1,
"captured_price_credits": 6,
"refunded_price_credits": 4,
"billing_breakdown": {
"extraction_credits": 5,
"processing_credits": 1
}
}
import requests
BASE = "https://app.seodataforai.com/api/v1/source"
AUTH = {"X-API-Login": "...", "X-API-Key": "..."}
res = requests.post(f"{BASE}/jobs", headers=AUTH, json={
"urls": [
"https://example.com/article",
"https://seodataforai.com/docs/source-data",
]
}).json()
print(f"Job ID: {res['request_id']}")
curl -X POST https://app.seodataforai.com/api/v1/source/jobs \
-H "X-API-Login: YOUR_LOGIN" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"urls":["https://example.com/article"]}'
New users receive free credits on registration. No credit card required to start testing.
Create free account