API Reference
Build on top of DadSEO. Access your sites, audits, rankings, and SEO intelligence programmatically through a simple REST API.
https://getdadseo.com/api/v1Authentication
All API requests require a Bearer token in the Authorization header. You can generate and manage your API key from Settings → Developer API in your DadSEO dashboard.
API keys are prefixed with dadseo_sk_ and should be treated as secrets. Never expose them in client-side code or public repositories.
Example Request
curl -X GET https://getdadseo.com/api/v1/me \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Authentication Error
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key."
}
}Response Format
All successful responses return a JSON object with a data field. Paginated endpoints also include a meta object.
Success (Single Object)
{
"data": {
"id": 42,
"domain": "example.com",
"name": "My Site"
}
}Success (Paginated List)
{
"data": [ ... ],
"meta": {
"page": 1,
"perPage": 20,
"total": 87,
"totalPages": 5
}
}Error Response
{
"error": {
"code": "NOT_FOUND",
"message": "Site not found."
}
}Common Error Codes
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | Insufficient permissions |
| 404 | NOT_FOUND | Resource does not exist |
| 422 | VALIDATION_ERROR | Invalid request body |
| 429 | RATE_LIMITED | Too many requests |
| 500 | INTERNAL_ERROR | Unexpected server error |
Rate Limiting
The API enforces a rate limit of 60 requests per minute per API key. Rate limit headers are included in every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 54
X-RateLimit-Reset: 1709150400When the limit is exceeded, the API returns a 429 status with a Retry-After header indicating how many seconds to wait before retrying.
Account
Manage your user account and API keys.
GET/api/v1/meexpand
Returns information about the authenticated user, including email, subscription plan, usage limits, and creation date.
Example Request
curl https://getdadseo.com/api/v1/me \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 12,
"email": "alice@example.com",
"name": "Alice Martin",
"plan": "pro",
"sitesUsed": 3,
"sitesLimit": 10,
"createdAt": "2025-11-02T10:30:00Z"
}
}POST/api/v1/keys/rotateexpand
Rotates your API key. The current key is immediately invalidated and a new key is returned. Store the new key securely — it will not be shown again.
Example Request
curl -X POST https://getdadseo.com/api/v1/keys/rotate \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"key": "dadseo_sk_live_xyz789newkey",
"createdAt": "2026-02-28T14:00:00Z"
}
}Sites
Manage the websites you track in DadSEO.
GET/api/v1/sitesexpand
Returns a list of all sites associated with your account, including domain, name, creation date, and high-level stats.
Example Request
curl https://getdadseo.com/api/v1/sites \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"id": 1,
"domain": "example.com",
"name": "Example Site",
"businessType": "ecommerce",
"totalClicks": 12450,
"totalImpressions": 384200,
"createdAt": "2025-12-01T08:00:00Z"
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 3,
"totalPages": 1
}
}POST/api/v1/sitesexpand
Creates a new site and begins syncing data from Google Search Console. The domain must be verified in your connected GSC account.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| domain | string | Yes | The domain exactly as it appears in GSC (e.g. sc-domain:example.com) |
| name | string | Yes | Display name for the site |
| businessType | string | No | Business category: "saas", "ecommerce", "blog", "agency", "other" |
Example Request
curl -X POST https://getdadseo.com/api/v1/sites \
-H "Authorization: Bearer dadseo_sk_live_abc123def456" \
-H "Content-Type: application/json" \
-d '{
"domain": "sc-domain:example.com",
"name": "Example Site",
"businessType": "saas"
}'Example Response
{
"data": {
"id": 4,
"domain": "sc-domain:example.com",
"name": "Example Site",
"businessType": "saas",
"createdAt": "2026-02-28T14:00:00Z"
}
}GET/api/v1/sites/:siteIdexpand
Returns detailed information about a single site, including 28-day performance stats (clicks, impressions, CTR, average position).
Example Request
curl https://getdadseo.com/api/v1/sites/1 \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 1,
"domain": "example.com",
"name": "Example Site",
"businessType": "ecommerce",
"stats28d": {
"clicks": 12450,
"impressions": 384200,
"ctr": 0.0324,
"position": 14.7
},
"pagesIndexed": 342,
"lastSyncAt": "2026-02-28T06:00:00Z",
"createdAt": "2025-12-01T08:00:00Z"
}
}DELETE/api/v1/sites/:siteIdexpand
Permanently deletes a site and all associated data (audits, rankings, pages, queries). This action is irreversible.
Example Request
curl -X DELETE https://getdadseo.com/api/v1/sites/1 \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"deleted": true,
"id": 1
}
}Audits
Run and retrieve SEO audits for your sites.
GET/api/v1/sites/:siteId/auditsexpand
Returns a list of audits that have been run for the specified site, ordered by most recent first.
Example Request
curl https://getdadseo.com/api/v1/sites/1/audits \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"id": 78,
"siteId": 1,
"auditType": "full",
"status": "completed",
"score": 72,
"issuesFound": 14,
"createdAt": "2026-02-20T09:00:00Z",
"completedAt": "2026-02-20T09:04:32Z"
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 5,
"totalPages": 1
}
}POST/api/v1/sites/:siteId/auditsexpand
Triggers a new SEO audit for the specified site. The audit runs asynchronously — poll the audit detail endpoint to check progress.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| auditType | string | No | Type of audit: "full" (default), "quick", or "technical" |
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/audits \
-H "Authorization: Bearer dadseo_sk_live_abc123def456" \
-H "Content-Type: application/json" \
-d '{ "auditType": "full" }'Example Response
{
"data": {
"id": 79,
"siteId": 1,
"auditType": "full",
"status": "pending",
"createdAt": "2026-02-28T14:00:00Z"
}
}GET/api/v1/audits/:auditIdexpand
Returns full details for a specific audit, including the overall score, individual findings grouped by category, and recommendations.
Example Request
curl https://getdadseo.com/api/v1/audits/78 \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 78,
"siteId": 1,
"auditType": "full",
"status": "completed",
"score": 72,
"findings": [
{
"category": "meta",
"severity": "warning",
"title": "Missing meta descriptions",
"description": "12 pages have no meta description.",
"affectedPages": 12
},
{
"category": "performance",
"severity": "critical",
"title": "Slow page load time",
"description": "3 pages exceed 4s load time.",
"affectedPages": 3
}
],
"createdAt": "2026-02-20T09:00:00Z",
"completedAt": "2026-02-20T09:04:32Z"
}
}Pages & Data
Access crawled pages, search query data, and KPI snapshots.
GET/api/v1/sites/:siteId/pagesexpand
Returns a paginated list of crawled pages for the site, including URL, title, status code, and indexing status.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1) |
| perPage | integer | Results per page (default: 20, max: 100) |
Example Request
curl "https://getdadseo.com/api/v1/sites/1/pages?page=1&perPage=20" \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"url": "https://example.com/blog/seo-guide",
"title": "Ultimate SEO Guide 2026",
"statusCode": 200,
"indexable": true,
"clicks28d": 340,
"impressions28d": 8900,
"lastCrawledAt": "2026-02-27T03:00:00Z"
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 342,
"totalPages": 18
}
}GET/api/v1/sites/:siteId/queriesexpand
Returns Google Search Console query data for the site — keywords, clicks, impressions, CTR, and average position.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1) |
| perPage | integer | Results per page (default: 20, max: 100) |
| days | integer | Lookback window in days (default: 28, max: 90) |
Example Request
curl "https://getdadseo.com/api/v1/sites/1/queries?days=28&page=1" \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"query": "best seo tools 2026",
"clicks": 890,
"impressions": 24300,
"ctr": 0.0366,
"position": 4.2
},
{
"query": "seo audit checklist",
"clicks": 432,
"impressions": 12100,
"ctr": 0.0357,
"position": 6.8
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 1240,
"totalPages": 62
}
}GET/api/v1/sites/:siteId/kpiexpand
Returns KPI snapshots for the site — a daily time series of clicks, impressions, CTR, and average position. Useful for charting performance trends.
Example Request
curl https://getdadseo.com/api/v1/sites/1/kpi \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"date": "2026-02-27",
"clicks": 456,
"impressions": 13200,
"ctr": 0.0345,
"position": 14.2
},
{
"date": "2026-02-26",
"clicks": 489,
"impressions": 14100,
"ctr": 0.0347,
"position": 13.9
}
]
}Rankings
Track keyword positions over time.
GET/api/v1/sites/:siteId/rankingsexpand
Returns all tracked keywords for the site with their current position, previous position, and trend data.
Example Request
curl https://getdadseo.com/api/v1/sites/1/rankings \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"id": 101,
"keyword": "best seo tools",
"targetUrl": "https://example.com/blog/seo-tools",
"currentPosition": 4,
"previousPosition": 6,
"bestPosition": 3,
"trend": "up",
"lastCheckedAt": "2026-02-28T06:00:00Z"
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 25,
"totalPages": 2
}
}POST/api/v1/sites/:siteId/rankingsexpand
Starts tracking a new keyword for the site. Position data will be available within a few hours of creation.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| keyword | string | Yes | The keyword or phrase to track |
| targetUrl | string | No | Expected ranking URL (for monitoring the right page) |
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/rankings \
-H "Authorization: Bearer dadseo_sk_live_abc123def456" \
-H "Content-Type: application/json" \
-d '{
"keyword": "seo audit tool",
"targetUrl": "https://example.com/features/audit"
}'Example Response
{
"data": {
"id": 102,
"keyword": "seo audit tool",
"targetUrl": "https://example.com/features/audit",
"currentPosition": null,
"status": "pending",
"createdAt": "2026-02-28T14:00:00Z"
}
}DELETE/api/v1/sites/:siteId/rankingsexpand
Stops tracking a keyword. Historical position data is retained for 30 days after untracking.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| keywordId | integer | ID of the keyword to stop tracking (required) |
Example Request
curl -X DELETE "https://getdadseo.com/api/v1/sites/1/rankings?keywordId=102" \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"deleted": true,
"id": 102,
"keyword": "seo audit tool"
}
}Alerts
View SEO alerts and notifications for your sites.
GET/api/v1/sites/:siteId/alertsexpand
Returns alerts triggered for the site, such as traffic drops, ranking changes, crawl errors, and audit findings. Alerts are ordered by most recent first.
Example Request
curl https://getdadseo.com/api/v1/sites/1/alerts \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"id": 201,
"type": "traffic_drop",
"severity": "warning",
"title": "Clicks dropped 18% week-over-week",
"message": "Organic clicks fell from 3,200 to 2,624 compared to last week.",
"read": false,
"createdAt": "2026-02-27T08:00:00Z"
},
{
"id": 200,
"type": "ranking_change",
"severity": "info",
"title": "Keyword 'seo tools' moved to position 3",
"message": "Up from position 6. Best position ever recorded.",
"read": true,
"createdAt": "2026-02-26T06:00:00Z"
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 8,
"totalPages": 1
}
}Actions
Manage SEO tasks and action items.
GET/api/v1/sites/:siteId/actionsexpand
Returns a list of SEO action items (tasks) for the site, including title, status, priority, and category.
Example Request
curl https://getdadseo.com/api/v1/sites/1/actions \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"id": 301,
"title": "Add meta descriptions to 12 pages",
"description": "Pages missing meta descriptions were flagged in the latest audit.",
"status": "open",
"priority": "high",
"category": "meta",
"createdAt": "2026-02-20T09:05:00Z"
},
{
"id": 302,
"title": "Fix broken internal links",
"description": null,
"status": "in_progress",
"priority": "medium",
"category": "links",
"createdAt": "2026-02-21T10:00:00Z"
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 6,
"totalPages": 1
}
}POST/api/v1/sites/:siteId/actionsexpand
Creates a new action item (task) for the site. Tasks can be created manually or are automatically generated by audits.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | Short description of the task |
| description | string | No | Detailed explanation or context |
| priority | string | No | "low", "medium" (default), "high", or "critical" |
| category | string | No | "meta", "content", "technical", "links", "performance", "other" |
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/actions \
-H "Authorization: Bearer dadseo_sk_live_abc123def456" \
-H "Content-Type: application/json" \
-d '{
"title": "Optimize hero image on homepage",
"description": "Image is 2.4MB, should be compressed and served as WebP.",
"priority": "high",
"category": "performance"
}'Example Response
{
"data": {
"id": 303,
"title": "Optimize hero image on homepage",
"description": "Image is 2.4MB, should be compressed and served as WebP.",
"status": "open",
"priority": "high",
"category": "performance",
"createdAt": "2026-02-28T14:00:00Z"
}
}PATCH/api/v1/actions/:taskIdexpand
Updates the status or priority of an existing task. Use this to mark tasks as completed or change their priority.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | No | "open", "in_progress", "completed", or "dismissed" |
| priority | string | No | "low", "medium", "high", or "critical" |
Example Request
curl -X PATCH https://getdadseo.com/api/v1/actions/301 \
-H "Authorization: Bearer dadseo_sk_live_abc123def456" \
-H "Content-Type: application/json" \
-d '{ "status": "completed" }'Example Response
{
"data": {
"id": 301,
"title": "Add meta descriptions to 12 pages",
"status": "completed",
"priority": "high",
"category": "meta",
"updatedAt": "2026-02-28T14:05:00Z"
}
}SEO Audits
Trigger and list specialized SEO audits. Each audit type has its own endpoint under /api/v1/sites/:siteId/<type>. POST triggers a new audit, GET lists previous runs.
All POST endpoints are rate-limited to 5 requests/minute. Audits run asynchronously — poll the /audits/:auditId endpoint to check status.
GET/api/v1/sites/:siteId/competitorsexpand
Lists all competitor analysis audits for the site.
Example Request
curl https://getdadseo.com/api/v1/sites/1/competitors \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"id": 501,
"status": "completed",
"diagnosisText": "Found 5 direct competitors...",
"progress": 100,
"startedAt": "2026-02-20T10:00:00Z",
"completedAt": "2026-02-20T10:02:30Z",
"createdAt": "2026-02-20T10:00:00Z"
}
]
}POST/api/v1/sites/:siteId/competitorsexpand
Triggers a new competitor analysis audit. Identifies competing domains, shared keywords, and competitive gaps.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/competitors \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 502,
"status": "pending",
"auditType": "competitors"
}
}POST/api/v1/sites/:siteId/content-auditexpand
Triggers a content quality audit. Analyzes page content for thin content, duplicate content, and quality issues.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/content-audit \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 503,
"status": "pending",
"auditType": "content"
}
}POST/api/v1/sites/:siteId/content-intelexpand
Triggers a content intelligence analysis. Provides AI-powered content recommendations, gap analysis, and topic opportunities.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/content-intel \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 504,
"status": "pending",
"auditType": "content-intel"
}
}POST/api/v1/sites/:siteId/geoexpand
Triggers a geo/local SEO audit. Analyzes geographic targeting, local signals, and regional performance.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/geo \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 505,
"status": "pending",
"auditType": "geo"
}
}POST/api/v1/sites/:siteId/hreflangexpand
Triggers an hreflang audit. Validates international targeting tags, identifies missing or conflicting hreflang annotations.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/hreflang \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 506,
"status": "pending",
"auditType": "hreflang"
}
}POST/api/v1/sites/:siteId/imagesexpand
Triggers an image SEO audit. Checks alt text, file sizes, formats, lazy loading, and image optimization opportunities.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/images \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 507,
"status": "pending",
"auditType": "image"
}
}POST/api/v1/sites/:siteId/internal-linksexpand
Triggers an internal linking audit. Maps link structure, finds orphan pages, and identifies linking opportunities.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/internal-links \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 508,
"status": "pending",
"auditType": "internal-links"
}
}POST/api/v1/sites/:siteId/offpageexpand
Triggers an off-page SEO audit. Analyzes backlink profile, domain authority signals, and external linking patterns.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/offpage \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 509,
"status": "pending",
"auditType": "offpage"
}
}POST/api/v1/sites/:siteId/optimizerexpand
Triggers a page optimizer audit for a specific URL and keyword. Provides on-page optimization recommendations.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | The page URL to optimize |
| keyword | string | Yes | The target keyword to optimize for |
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/optimizer \
-H "Authorization: Bearer dadseo_sk_live_abc123def456" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/blog/seo-guide",
"keyword": "SEO guide 2026"
}'Example Response
{
"data": {
"id": 510,
"status": "pending",
"auditType": "optimizer"
}
}POST/api/v1/sites/:siteId/planexpand
Triggers an AI-powered SEO strategy plan. Generates a comprehensive action plan based on site data and audit findings.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/plan \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 511,
"status": "pending",
"auditType": "plan"
}
}POST/api/v1/sites/:siteId/programmaticexpand
Triggers a programmatic SEO audit. Analyzes template-based pages, parameter URLs, and scalable content patterns.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/programmatic \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 512,
"status": "pending",
"auditType": "programmatic"
}
}POST/api/v1/sites/:siteId/schema-auditexpand
Triggers a structured data (Schema.org) audit. Validates JSON-LD markup, identifies missing schemas, and checks for errors.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/schema-audit \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 513,
"status": "pending",
"auditType": "schema"
}
}POST/api/v1/sites/:siteId/sitemap-auditexpand
Triggers a sitemap audit. Validates XML sitemaps, checks for missing pages, and identifies sitemap configuration issues.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/sitemap-audit \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 514,
"status": "pending",
"auditType": "sitemap"
}
}POST/api/v1/sites/:siteId/socialexpand
Triggers a social SEO audit. Checks Open Graph tags, Twitter cards, and social sharing metadata.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/social \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 515,
"status": "pending",
"auditType": "social"
}
}POST/api/v1/sites/:siteId/technicalexpand
Triggers a technical SEO audit. Analyzes Core Web Vitals, crawlability, indexation, redirects, and server configuration.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/technical \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 516,
"status": "pending",
"auditType": "technical"
}
}GET/api/v1/sites/:siteId/topicsexpand
Lists topic analysis runs for the site. Each run clusters search queries into topical groups.
Example Request
curl https://getdadseo.com/api/v1/sites/1/topics \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": [
{
"id": 201,
"status": "completed",
"queryCount": 1250,
"clusterCount": 48,
"progress": 100,
"progressDetail": null,
"startedAt": "2026-02-20T10:00:00Z",
"completedAt": "2026-02-20T10:05:00Z",
"createdAt": "2026-02-20T10:00:00Z"
}
]
}POST/api/v1/sites/:siteId/topicsexpand
Triggers a new topic clustering analysis. Groups search queries into semantic topic clusters for content strategy.
Example Request
curl -X POST https://getdadseo.com/api/v1/sites/1/topics \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"id": 202,
"status": "pending",
"type": "topics"
}
}Stats
Aggregate dashboard statistics across all your sites.
GET/api/v1/statsexpand
Returns aggregate GSC performance data (last 28 days) across all sites, plus per-site click and impression totals.
Example Request
curl https://getdadseo.com/api/v1/stats \
-H "Authorization: Bearer dadseo_sk_live_abc123def456"Example Response
{
"data": {
"totalClicks": 45230,
"totalImpressions": 1250000,
"avgCtr": 0.036,
"avgPosition": 14.2,
"sites": [
{
"id": 1,
"name": "Main Site",
"domain": "example.com",
"clicks28d": 32100,
"impressions28d": 890000
},
{
"id": 2,
"name": "Blog",
"domain": "blog.example.com",
"clicks28d": 13130,
"impressions28d": 360000
}
]
}
}Connect your AI assistant
Use the same API key with our MCP Server to give Claude, Cursor, or any MCP client direct access to your SEO data and audits.
Need help? support@getdadseo.com — We typically respond within 24 hours.