> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# InspectUrls

# Package: googleSearchConsole

# Namespace: GscService

# Method link: https://dev.wix.com/docs/api-reference/business-management/seo/google-search-console/site-readiness-v1/inspect-urls.md

## Permission Scopes:
Manage SEO Settings: SCOPE.PROMOTE.MANAGE-SEO

## Introduction

Runs Google URL inspection on the given site pages.

Inspection starts synchronously and the response contains the results of
the first chunk of pages. When the first chunk covered every requested
page, the status is already `COMPLETE` and no polling is needed. When
pages remain, the status is `ONGOING` and Wix keeps inspecting them
server-side. Poll Get Inspection until the status is `COMPLETE` or
`ERROR`.

Each page inspection consumes Google URL-inspection quota for the
connected account. Inspection stops early when that quota runs out, so
check `remaining_page_count` to see whether any pages were left
uninspected.

Google allows up to 2,000 page inspections a day per property. Sites with
more pages than that can't be inspected through this method and fail with
`FAILED_PRECONDITION` (`SITE_EXCEEDS_INSPECTION_LIMIT`). Inspect single
pages manually in Google Search Console instead.

---

## REST API

### Schema

```
 Method: inspectUrls
 Description: Runs Google URL inspection on the given site pages.  Inspection starts synchronously and the response contains the results of the first chunk of pages. When the first chunk covered every requested page, the status is already `COMPLETE` and no polling is needed. When pages remain, the status is `ONGOING` and Wix keeps inspecting them server-side. Poll Get Inspection until the status is `COMPLETE` or `ERROR`.  Each page inspection consumes Google URL-inspection quota for the connected account. Inspection stops early when that quota runs out, so check `remaining_page_count` to see whether any pages were left uninspected.  Google allows up to 2,000 page inspections a day per property. Sites with more pages than that can't be inspected through this method and fail with `FAILED_PRECONDITION` (`SITE_EXCEEDS_INSPECTION_LIMIT`). Inspect single pages manually in Google Search Console instead.
 URL: https://www.wixapis.com/gsc/connection/v1/inspect-urls
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  pageIds
 Method parameters: 
   param name: pageIds | type: array<pageIds> | description: IDs of the site pages to inspect. Each inspection result identifies its page in the `page` object, with the same `pageId`. | required: true | validation: maxItems 2000, maxLength 200
   param name: updateResults | type: updateResults | description: Whether to merge the new results into the previous inspection instead of replacing it.  Default: `false`. A new inspection replaces the stored results.  
 Return type: InspectUrlsResponse
  - name: results | type: array<InspectedPage> | description: Results of the pages inspected so far.  
     - name: page | type: SitePage | description: The inspected page.  | read-only: true 
        - name: pageId | type: string | description: GUID of the page.  | read-only: true | validation: maxLength 200
        - name: name | type: string | description: Display name of the page.  | read-only: true | validation: maxLength 1000
        - name: path | type: string | description: URL path of the page.  | read-only: true | validation: maxLength 2000
        - name: itemType | type: string | description: Item type of the page. For example, `static-page` or a vertical item type.  | read-only: true | validation: maxLength 100
     - name: status | type: string | description: Whether the page's inspection succeeded. `OK` or `ERROR`.  | read-only: true | validation: maxLength 20
     - name: data | type: object | description: Google's raw URL-inspection result for the page, as returned by the Google Search Console [URL Inspection API](https://developers.google.com/webmaster-tools/v1/urlInspection.index/inspect).  Any human-readable text in this payload (issue descriptions and the like) is in English. Verdicts and states are stable identifiers, so localize from those rather than from the text.  | read-only: true 
     - name: createdDate | type: string | description: Date and time this result was produced.  | read-only: true | validation: format date-time
  - name: status | type: InspectionStatus | description: Status of the inspection. `ONGOING` means Wix is still inspecting the remaining pages in the background. Poll Get Inspection for the rest.  
     - enum:
     -     UNKNOWN_INSPECTION_STATUS: Unknown inspection status.
     -     ONGOING: The inspection is still running in the background.
     -     COMPLETE: The inspection finished, and nothing is running in the background anymore. Pages can still be left uninspected if the connected account's Google quota ran out, so check the remaining page count.
     -     ERROR: The inspection stopped with an error.
  - name: remainingPageCount | type: integer | description: Number of pages not inspected yet.  | validation: format int32

 Possible Errors:
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: SITE_EXCEEDS_INSPECTION_LIMIT | Description: The site has more pages than Google allows to inspect in a day (2,000 per property). Inspect single pages manually in Google Search Console.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: MISSING_TOKEN | Description: No Google account is connected for this site. Connect first with the GSC Connection API.
   HTTP Code: 429 | Status Code: RESOURCE_EXHAUSTED | Application Code: GOOGLE_QUOTA_EXCEEDED | Description: Google's API quota for the property is used up. Retry after the quota window resets.
   HTTP Code: 503 | Status Code: UNAVAILABLE | Application Code: GOOGLE_UNAVAILABLE | Description: Google answered with a temporary server error. Retry with backoff.


```

### Examples

### Inspect URLs
```curl
curl -X POST \
'https://www.wixapis.com/gsc/v1/inspect-urls' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "pageIds": [
    "c1dmp",
    "xt2o4"
  ]
}'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.gsc.siteReadiness.inspectUrls(pageIds, options)
 Description: Runs Google URL inspection on the given site pages.  Inspection starts synchronously and the response contains the results of the first chunk of pages. When the first chunk covered every requested page, the status is already `COMPLETE` and no polling is needed. When pages remain, the status is `ONGOING` and Wix keeps inspecting them server-side. Poll Get Inspection until the status is `COMPLETE` or `ERROR`.  Each page inspection consumes Google URL-inspection quota for the connected account. Inspection stops early when that quota runs out, so check `remaining_page_count` to see whether any pages were left uninspected.  Google allows up to 2,000 page inspections a day per property. Sites with more pages than that can't be inspected through this method and fail with `FAILED_PRECONDITION` (`SITE_EXCEEDS_INSPECTION_LIMIT`). Inspect single pages manually in Google Search Console instead.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  pageIds
 Method parameters: 
   param name: options | type: InspectUrlsOptions  none  
        - name: updateResults | type: boolean | description: Whether to merge the new results into the previous inspection instead of replacing it.  Default: `false`. A new inspection replaces the stored results.  
   param name: pageIds | type: array<array> | description: IDs of the site pages to inspect. Each inspection result identifies its page in the `page` object, with the same `pageId`. | required: true | validation: maxItems 2000, maxLength 200
 Return type: PROMISE<InspectUrlsResponse>
  - name: results | type: array<InspectedPage> | description: Results of the pages inspected so far.  
     - name: page | type: SitePage | description: The inspected page.  | read-only: true 
        - name: pageId | type: string | description: GUID of the page.  | read-only: true | validation: maxLength 200
        - name: name | type: string | description: Display name of the page.  | read-only: true | validation: maxLength 1000
        - name: path | type: string | description: URL path of the page.  | read-only: true | validation: maxLength 2000
        - name: itemType | type: string | description: Item type of the page. For example, `static-page` or a vertical item type.  | read-only: true | validation: maxLength 100
     - name: status | type: string | description: Whether the page's inspection succeeded. `OK` or `ERROR`.  | read-only: true | validation: maxLength 20
     - name: data | type: object | description: Google's raw URL-inspection result for the page, as returned by the Google Search Console [URL Inspection API](https://developers.google.com/webmaster-tools/v1/urlInspection.index/inspect).  Any human-readable text in this payload (issue descriptions and the like) is in English. Verdicts and states are stable identifiers, so localize from those rather than from the text.  | read-only: true 
     - name: _createdDate | type: Date | description: Date and time this result was produced.  | read-only: true 
  - name: status | type: InspectionStatus | description: Status of the inspection. `ONGOING` means Wix is still inspecting the remaining pages in the background. Poll Get Inspection for the rest.  
     - enum:
     -     UNKNOWN_INSPECTION_STATUS: Unknown inspection status.
     -     ONGOING: The inspection is still running in the background.
     -     COMPLETE: The inspection finished, and nothing is running in the background anymore. Pages can still be left uninspected if the connected account's Google quota ran out, so check the remaining page count.
     -     ERROR: The inspection stopped with an error.
  - name: remainingPageCount | type: integer | description: Number of pages not inspected yet.  | validation: format int32

 Possible Errors:
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: SITE_EXCEEDS_INSPECTION_LIMIT | Description: The site has more pages than Google allows to inspect in a day (2,000 per property). Inspect single pages manually in Google Search Console.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: MISSING_TOKEN | Description: No Google account is connected for this site. Connect first with the GSC Connection API.
   HTTP Code: 429 | Status Code: RESOURCE_EXHAUSTED | Application Code: GOOGLE_QUOTA_EXCEEDED | Description: Google's API quota for the property is used up. Retry after the quota window resets.
   HTTP Code: 503 | Status Code: UNAVAILABLE | Application Code: GOOGLE_UNAVAILABLE | Description: Google answered with a temporary server error. Retry with backoff.


```

### Examples

### Run Google URL inspection on site pages
```javascript
import { siteReadiness } from "@wix/gsc";

async function inspectUrls() {
  const response = await siteReadiness.inspectUrls(["c1dmp", "xt2o4"]);
}

/* Promise resolves to:
 * {
 *   "results": [
 *     {
 *       "page": {
 *         "pageId": "c1dmp",
 *         "name": "Home",
 *         "path": "/",
 *         "itemType": "static-page"
 *       },
 *       "status": "OK",
 *       "data": {
 *         "inspectionResult": {
 *           "indexStatusResult": {
 *             "verdict": "PASS",
 *             "coverageState": "Submitted and indexed",
 *             "robotsTxtState": "ALLOWED",
 *             "indexingState": "INDEXING_ALLOWED",
 *             "lastCrawlTime": "2026-08-29T11:47:03.000Z",
 *             "pageFetchState": "SUCCESSFUL",
 *             "googleCanonical": "https://www.my-fashion-store.com/",
 *             "userCanonical": "https://www.my-fashion-store.com/"
 *           }
 *         }
 *       },
 *       "createdDate": "2026-09-01T08:24:51.000Z"
 *     },
 *     {
 *       "page": {
 *         "pageId": "xt2o4",
 *         "name": "About",
 *         "path": "/about",
 *         "itemType": "static-page"
 *       },
 *       "status": "OK",
 *       "data": {
 *         "inspectionResult": {
 *           "indexStatusResult": {
 *             "verdict": "NEUTRAL",
 *             "coverageState": "Discovered - currently not indexed",
 *             "robotsTxtState": "ALLOWED",
 *             "indexingState": "INDEXING_ALLOWED",
 *             "pageFetchState": "SUCCESSFUL",
 *             "userCanonical": "https://www.my-fashion-store.com/about"
 *           }
 *         }
 *       },
 *       "createdDate": "2026-09-01T08:24:53.000Z"
 *     }
 *   ],
 *   "status": "COMPLETE",
 *   "remainingPageCount": 0
 * }
 */

```

### inspectUrls (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { siteReadiness } from '@wix/gsc';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { siteReadiness },
  // Include the auth strategy and host as relevant
});


async function inspectUrls(pageIds,options) {
  const response = await myWixClient.siteReadiness.inspectUrls(pageIds,options);
};
```

---