Skip to content
AdlyseDocs
Product guideMCP reference
⌘K
Open Adlyse
⌘K
Overview
QuickstartAuthentication
adlyse-insights
list_ad_accountsget_dashboard_snapshotget_impact_analysisget_competitor_pressurelist_guidelinesget_brand_kitupdate_brand_kitsave_brand_assetget_guidelinelist_suggestionsget_suggestionget_strategy_sessionlist_strategy_claimslist_strategy_proposalsget_creative_insightslist_watched_competitorslist_competitor_adswatch_competitorunwatch_competitorlist_audit_eventslist_organic_propertiesget_organic_overviewget_organic_page_metricsinspect_pageget_organic_performanceget_site_inventorycheck_site_healthget_ai_visibilitylist_ai_visibility_answerslist_ai_visibility_promptsupsert_ai_visibility_promptsrun_ai_visibility_checksget_growth_evidencelist_site_connection_optionslist_site_key_eventssave_site_sourceremove_site_sourceresync_site_sourceupdate_growth_deliveryget_growth_deliveryget_geo_workspaceupdate_geo_workspace
adlyse-ads
adlyse-workflows
adlyse-admin
adlyse-all
  1. Overview
  2. adlyse-insights

get_organic_performance

Google Search performance for a site from Adlyse’s nightly-synced Search Console rows: clicks, impressions, CTR and impressions-weighted average position, grouped by date, page or search query. Organic search only — no cost, no paid clicks.

Search Console settles about three days late; last_data_date is the newest settled day Adlyse holds. Query rows contain Google’s top returned rows and are not guaranteed exhaustive and sum below the site total.

Parameters#

NameTypeRequiredDefaultDescription
start_datestringyesYYYY-MM-DD, inclusive
end_datestringyesYYYY-MM-DD, inclusive
site_source_idstringnoFrom list_organic_properties; omit for the primary site
group_bystringnodatedate (site totals per day), page, or query (window totals)
limitintegerno100Max rows for page/query grouping (max 1000)
page_containsstringnoPage grouping: only URLs containing this text
query_containsstringnoQuery grouping: only queries containing this text

Returns#

json
{
  "status": "ok",
  "property": {
    "id": "oprop_abc123",
    "domain": "example.com",
    "gsc_site_url": "sc-domain:example.com"
  },
  "window": { "from": "2026-08-19", "to": "2026-09-13" },
  "group_by": "query",
  "rows": [
    {
      "key": "q:3f9a1c2b7d8e4f10",
      "label": "best running shoes",
      "date": null,
      "clicks": 412,
      "impressions": 18230,
      "ctr_pct": 2.26,
      "avg_position": 6.4,
      "days_with_data": 26
    }
  ],
  "row_count": 100,
  "truncated": true,
  "totals": {
    "clicks": 7210,
    "impressions": 301220,
    "ctr_pct": 2.39,
    "avg_position": 11.8,
    "days_with_data": 26
  },
  "last_data_date": "2026-09-13",
  "source": "adlyse.organic_search@v1"
}

status is no_property when the organization has no site source and no_search_console when its site has no Search Console connection; both return empty rows rather than an error.

Errors#

error_typeWhen
auth_errorMissing / invalid API key
not_foundsite_source_id is not in your org
validation_errorBad dates or an unknown group_by

Exact filters and pagination#

page_url filters one normalized absolute URL. query filters exact normalized text. Cross-dimensional filters use stored page_query facts; group_by="page_query" returns structured page and query fields. offset and next_offset paginate the stored rows. Always display coverage_notice and truncated; pagination cannot recover rows Google did not disclose. Query-level conversions are unavailable.

Previousinspect_pageNextget_site_inventory