Merchant Center competitors
get_gmc_competitorsCompetitive visibility from the Google Merchant Center account linked to a GSC Wizard site, for one (country, Google product category, traffic source) cell. "competitor" (default) returns one row per day per competing domain (rank, relativeVisibility, adsOrganicRatio, pageOverlapRate, higherPositionRate) plus a per-domain roll-up over the window; "top_merchant" returns one aggregate row per domain for the window (Google does not expose a date on that view); "benchmark" returns one row per day with yourDomainVisibilityTrend and categoryBenchmarkVisibilityTrend, both relative to the start of the window. relativeVisibility and adsOrganicRatio are RATIOS (200 = two hundred times as often as you); pageOverlapRate, higherPositionRate and the trends are 0-1 FRACTIONS as Google reports them (0.12 = 12%), not the 0-100 percentage ctr uses elsewhere in this server. countryCode (ISO 3166-1 alpha-2) and categoryId (Google product taxonomy id, digits) are both required because the Merchant API answers one cell per request. reportUnavailable (with no rows) means Google refuses this report for the Merchant Center account (eligibility); the other reports are unaffected. Returns a notConfigured result (not an error) when Merchant Center is not connected or no Merchant Center account is linked to the site in the GSC Wizard app. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | "competitor" (daily rows per competing domain, the default), "top_merchant" (one aggregate row per domain for the window) or "benchmark" (daily trend of your domain against the category benchmark). | competitor |
| limit | No | Rows to return, ordered by (date, rank, domain) (default 50, max 200). The per-domain roll-up in `domains` always covers every fetched row regardless of this cap. | |
| endDate | No | Optional. Window end as YYYY-MM-DD (e.g. 2026-05-31). You do NOT need to know today's date or the latest available date: omit this and the server uses the latest settled Search Console date (data lags ~2-3 days behind today). Never pass null or the string "null". | |
| siteUrl | Yes | The property URL as returned by list_sites (e.g. "sc-domain:example.com"). | |
| startDate | No | Optional. Window start as YYYY-MM-DD (e.g. 2026-05-03). You do NOT need to know today's date. Omit BOTH startDate and endDate to analyze the last 28 settled days automatically (Search Console data lags ~2-3 days). Never pass null or the string "null". | |
| categoryId | Yes | Required. Google product taxonomy id as a digits-only string (e.g. "166" for Apparel & Accessories, "222" for Electronics). Top-level ids work for every account. | |
| countryCode | Yes | Required. Report country as ISO 3166-1 alpha-2 (e.g. "US", "NL"). Case-insensitive. | |
| trafficSource | No | "ORGANIC" (free listings, the default), "ADS" or "ALL". | ORGANIC |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | ||
| rows | No | ||
| view | No | ||
| range | No | ||
| reason | No | ||
| account | No | ||
| domains | No | ||
| hasMore | No | ||
| siteUrl | No | ||
| cachedAt | No | ||
| rowCount | No | ||
| emptyNote | No | ||
| truncated | No | ||
| unitsNote | No | ||
| categoryId | No | ||
| dataSource | No | ||
| yourDomain | No | ||
| countryCode | No | ||
| gmcAccountId | No | ||
| notConfigured | No | ||
| trafficSource | No | ||
| truncationNote | No | ||
| fetchedRowCount | No | ||
| truncationReason | No | ||
| reportUnavailable | No |