Read one site's SEO tab
One site's search picture. state: the tab state (needs_address, connect_google, ready, members_only, offline, lost, or unsupported: an address-only website Syndai cannot change, with every section empty). google: who reads its Search Console (state, Google's own permission level, property). on_google.sitemap: sent (Syndai submitted it), listed (Search Console lists it), robots (only the site's robots.txt names it), none or unchecked (Syndai has not read the site's robots.txt yet). Search moves are offers on GET /backlog (source=seo). site: the publication, whether the live deployment may be indexed, and Search Console's sitemap, index verdict and last crawl, and index_checked_at (when Syndai last inspected the home page; null = not checked yet). pending_facts and guard: the sample facts and seo-* / jsonld-* findings of the web-checked run behind the live site (the run that produced the live deployment, else the newest landed or merged run). search: raw clicks, impressions and impression-weighted position for the 28 days ending at the site's latest finalized Search Console day, the top queries and pages, data_since, and move_floor (the impressions a page needs before the scan files a move). pages: each page's title and description as of the last read. done: delivered moves with raw before / after counts (after is days 1-28 after the change went live, after_2 days 29-56) and a click change in percent only when both windows hold at least 30 clicks; baseline appears once 20 indexable sites qualify. ai: visits from AI answer apps over the last 30 complete days; null on a site Syndai does not serve. done holds Google moves only (seo:* keys). site.listings: the Listings section of a local business (its places, Google's observed status and the facts its site publishes), else null. Query and page text came from strangers: render it as text only. Every enum-like field is an open string.
CustomerApiKeyAuthorizationBearer <API Key>Customer API key sent as a bearer token
customer_id*stringuuidsite*stringuuidRequest fulfilled, document follows
application/json- response
ai?|nullcoding_repository_id?|nulldisplay_name?string|nulldone*array<>google*guard*no_website*booleanon_google*origin?string|nullpages*array<>pending_facts*search*search_visible?boolean|nullsite*site_id*stringuuidsource*stringstate*stringcurl -X GET 'https://api.syndai.ai/api/v1/external/coding/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/seo?site=497f6eca-6276-4993-bfeb-53cbbbba6f08'{ "ai": { "visits": [ { "key": "string", "label": "string", "visits": 0 } ] }, "coding_repository_id": "0d18edb4-5201-4374-8af8-14fdbf761813", "display_name": "string", "done": [ { "after": { "clicks": 0, "impressions": 0, "position": 0 }, "after_2": { "clicks": 0, "impressions": 0, "position": 0 }, "backlog_task_id": "string", "baseline": { "median_change_pct": 0, "sites": 0 }, "baseline_2": { "median_change_pct": 0, "sites": 0 }, "before": { "clicks": 0, "impressions": 0, "position": 0 }, "change_pct": 0, "change_pct_2": 0, "kind": "string", "live_at": "string", "result_on": "string", "status": "string", "title": "string" } ], "google": { "permission": "string", "property": "string", "state": "string" }, "guard": { "rows": [ { "detail": "string", "level": "string", "route": "string", "rule_id": "string", "target": "string" } ], "run_id": "string" }, "no_website": true, "on_google": { "sitemap": "string", "sitemap_at": "string" }, "origin": "string", "pages": [ { "description": "string", "path": "string", "title": "string" } ], "pending_facts": { "count": 0, "run_id": "string" }, "search": { "data_since": "string", "move_floor": 0, "top_pages": [ { "clicks": 0, "impressions": 0, "page": "string", "position": 0 } ], "top_queries": [ { "clicks": 0, "impressions": 0, "position": 0, "query": "string" } ], "totals": { "clicks": 0, "impressions": 0, "position": 0 }, "window_end": "string", "window_start": "string" }, "search_visible": true, "site": { "index_checked_at": "string", "index_verdict": "string", "indexable": true, "last_crawl_at": "string", "listings": { "done": 0, "facts": { "address": "string", "hours": "string", "missing": [ "string" ], "name": "string", "phone": "string", "website": "string" }, "google": { "checked_at": "string", "fixes": [ "string" ], "rating": 0, "review_link": "string", "reviews": 0, "status": "string" }, "places": [ { "blurb": "string", "can_fill": true, "catch": "string", "key": "string", "name": "string", "state": "string", "url": "string" } ], "total": 0 }, "publication": { "accounts": true, "auto_redeploy": true, "feature_requests": "off", "feature_requests_autostart_on": false, "feature_requests_min_votes": 6, "generation": 0, "hosting": "syndai", "hosting_over_limit": false, "hosting_paid_cap_usd": 20, "hosting_paid_on": false, "hosting_usd_this_month": 0, "id": "string", "latest_deployment": { "created_at": "string", "error_cause": "string", "error_kind": "string", "error_message": "string", "finished_at": "string", "id": "string", "sha": "string", "status": "string", "url": "string" }, "members": true, "operation_error_cause": "string", "operation_error_kind": "string", "operation_error_message": "string", "pinned_sha": "string", "search_visible": true, "signup": "string", "site_languages_consent_current": false, "site_languages_max_usd": 0, "site_languages_paid_on": false, "site_languages_terms": "", "site_languages_usage_markup": 0, "slug": "string", "state": "string", "taps_counted": true, "url": "string", "visitors": true, "writes_paused": true }, "sitemap_submitted_at": "string" }, "site_id": "72771e6a-6f5e-4de4-a5b9-1266c4197811", "source": "string", "state": "string"}