[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Export all not-indexed URLs from Google Search Console

> Pull the URLs behind "Crawled - currently not indexed" and "Discovered - currently not indexed" from Search Console, grouped by folder, every week.

Source: https://cotlet.dev/integrations/google-search-console-api-mcp-server/export-not-indexed-urls

Search Console says 1,400 pages are "Crawled - currently not indexed", but to see which ones you click into each reason and export a list that Google caps.

Cotlet does it in your own Google Search Console account with list\_page\_issues and list\_pages\_by\_index\_status, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=google-search-console) [All Google Search Console tools](https://cotlet.dev/integrations/google-search-console-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Google Search Console do this on its own?

The Search Console API cannot list URLs by indexing status (checked 16 Oct 2026). Its URL Inspection API checks one URL at a time, read-only, with 2,000 queries a day per site, so it cannot enumerate the Page indexing report.

## How you do it in Google Search Console today

1. In Search Console open Indexing > Pages and scroll to the "Why pages aren't indexed" table.
2. Click a reason such as "Crawled - currently not indexed" or "Discovered - currently not indexed" to open its details page with a chart and example URLs.
3. Use the export button to download the table, and repeat for each reason.
4. Google limits the example list on a details page to 1,000 rows and does not guarantee it shows every URL, so large sites get only part of the list.
5. Nothing compares this week's export with last week's, so you spot new problem folders by eye.

## How to export all not-indexed URLs from Google Search Console

Prompt

```
For example.com, list every reason Search Console gives for pages not being indexed with its count, then export the URLs for "Crawled - currently not indexed" and "Discovered - currently not indexed" and group them by folder.
```

1. 01  
### Read the reasons first  
list\_page\_issues returns every reason on the report with its URL count, and the agent keeps only the reasons you named, so one run never exports the whole property by accident.
2. 02  
### Pull the URLs per reason  
list\_pages\_by\_index\_status pages through each reason until Google stops returning rows, and records the last crawl date shown for each URL.
3. 03  
### Say when the list is partial  
When a reason holds more than 1,000 URLs, the agent says that Google shows only an example list and reports how many rows it got against the count on the report.
4. 04  
### Group by folder  
URLs are grouped by first path folder, so "/tag/" with 300 stuck pages stands out from "/blog/" with 12.
5. 05  
### Compare with last week  
If you give the agent last week's result, it lists URLs that are new in a reason and URLs that left it, which tells you whether your fixes worked.

### What you get back

Example data

```
Crawled - currently not indexed: 1,412 pages on the report, 1,000 rows shown by Google
Discovered - currently not indexed: 388 pages, 388 rows
Largest folders in Crawled: /tag/ 412, /blog/page/ 233, /search/ 118
New since last week: 74 URLs
Left the list since last week: 31 URLs
```

### Other ways to ask

- Export only "Duplicate, Google chose different canonical than user" and show the pairs.
- Every Monday, list new "Discovered - currently not indexed" URLs and request indexing for the first ones.
- List all "Not found (404)" URLs from the last month with the pages that link to them.
- Start Validate fix for "Crawled - currently not indexed" once I tell you the tag pages are fixed.

## What Google Search Console allows, and what to know first

- Google says "Crawled - currently not indexed" means the page was crawled but not indexed, and there is no need to resubmit the URL for crawling.
- Google says "Discovered - currently not indexed" means Google found the page but has not crawled it yet, so its last crawl date is empty on the report.
- The details list is limited to 1,000 rows and is not guaranteed to show all URLs with that issue.
- The report shows URLs with 404 errors only from the past month.
- An issue stays in the table until 90 days after its last instance is gone.

Every tool here only reads, so it can run weekly from n8n, Make, Zapier or cron without waiting for your OK.

Sources: [Search Console Help: Page indexing report](https://support.google.com/webmasters/answer/7440203) · [Search Console Help: Validate fix](https://support.google.com/webmasters/answer/9216203) · [Search Console API usage limits](https://developers.google.com/webmaster-tools/limits)

## Call list\_pages\_by\_index\_status from a script

curl

```
curl "https://cotlet.dev/api/v1/google-search-console/pages-by-index-status?property=sc-domain%3Aexample.com&status=Crawled+-+currently+not+indexed&limit=3" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"property": "sc-domain:example.com",
"status": "Crawled - currently not indexed",
"pages_in_report": 1412,
"rows_available": 1000,
"rows": [
{
"url": "https://example.com/tag/seo",
"last_crawled": "2026-10-09"
},
{
"url": "https://example.com/tag/api",
"last_crawled": "2026-10-08"
},
{
"url": "https://example.com/blog/page/14",
"last_crawled": "2026-10-02"
}
],
"next_cursor": "eyJvZmZzZXQiOjN9"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is google\_search\_console\_read → list\_pages\_by\_index\_status. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/google-search-console-api-mcp-server.md#automations)

## Google Search Console tools this automation uses

__Cotlet Google Search Console tools used to export all not-indexed URLs from Google Search Console__
| Tool | Parameters |
| ------------------------------ | ------------------------------- |
| list\_page\_issues | property, kind |
| list\_pages\_by\_index\_status | property, status, limit, cursor |

[All 15 Google Search Console tools with descriptions](https://cotlet.dev/integrations/google-search-console-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Google Search Console to Cotlet?

Yes. You sign in to Google Search Console yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Google Search Console once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Google Search Console automations

- [Request indexing in Google Search Console in bulk](https://cotlet.dev/integrations/google-search-console-api-mcp-server/request-indexing-in-bulk.md)
- [Remove many URLs from Google Search in bulk](https://cotlet.dev/integrations/google-search-console-api-mcp-server/remove-urls-from-google-in-bulk.md)
- [Add a user to many Search Console properties](https://cotlet.dev/integrations/google-search-console-api-mcp-server/add-user-to-many-properties.md)
- [Google Search Console API and MCP server: every tool](https://cotlet.dev/integrations/google-search-console-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Google Search Console.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Google Search Console.

[Sign up free](https://cotlet.dev/app/signup?app=google-search-console)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
