Marketing

Google Search Console Data Extractor

Google Search Console Data Extractor

Vern's Google Search Console extractor imports a new user's Google Search Console data — search analytics all fields, search analytics by country, search analytics by custom dimensions, and search analytics by date — into your product as normalized tables, without you maintaining Google Search Console's API plumbing. It's built for teams onboarding customers off Google Search Console who expect their history to be there on day one.

Vern's Google Search Console extractor imports a new user's Google Search Console data — search analytics all fields, search analytics by country, search analytics by custom dimensions, and search analytics by date — into your product as normalized tables, without you maintaining Google Search Console's API plumbing. It's built for teams onboarding customers off Google Search Console who expect their history to be there on day one.

Google Search Console

SaaS API (REST)

Managed auth, retries, and throttling

Normalized JSON, CSV, and DB-ready output

Cleaned JSON, CSV, and DB-ready output

Export coverage

Know exactly what Vern pulls before you migrate.

Objects Vern extracts

Vern extracts the full set of queryable Google Search Console objects (15 total), including: Search Analytics All Fields, Search Analytics By Country, Search Analytics By Custom Dimensions, Search Analytics By Date, Search Analytics By Device, Search Analytics By Page, Search Analytics By Query, Search Analytics Keyword Page Report, Search Analytics Keyword Site Report By Page, Search Analytics Keyword Site Report By Site, Search Analytics Page Report, Search Analytics Site Report By Page, Search Analytics Site Report By Site, Sitemaps, and Sites. 1 of these support incremental change tracking, so syncs pull only what changed.

Output schema

Normalized JSON per object with referential keys preserved, so the relationships between your user's records survive the import. Timestamps are returned in ISO 8601. Delivered as JSON or CSV, or loaded straight into your own application database or pushed to your API — whatever your product expects.

Where it can land

Your own application database (Postgres, MySQL), a direct push to your API or webhook, or JSON/CSV files, plus another marketing system (ActiveCampaign, Beamer, Bitly) when a user is switching tools.

Source details

Built for the source type shown above, with extractor content refreshed from the collection record.

Managed by Vern

The details you normally have to build yourself.

Authentication

OAuth 2.0 (Authorization Code flow). Your new user authorizes Google Search Console once during onboarding — their credentials never touch your code. Google Search Console access tokens are short-lived and refresh tokens roll on the provider's own schedule, so Vern manages the full token lifecycle and refresh and the import never drops midway.

Pagination

Vern detects and handles Google Search Console's paging model (cursor, page-number, or offset) internally and returns one consistent, de-duplicated result set — so you import a user's complete data without ever managing page tokens.

Rate limits and gotchas

Google Search Console enforces its own API rate limits. Vern queues and throttles requests internally so importing a new user's data never trips a 429 — even on a large account.

OAuth-based sources expire access tokens frequently and require a working refresh flow — a dropped refresh is the most common cause of a half-finished import. Vern owns the refresh loop so a new user's onboarding completes even on a long extraction.

API quickstart

1. Create a migration for Google Search Console
curl -X POST https://app.vern.so/api/v1/migrations \
-H "x-api-key: $VERN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Google Search Console → Postgres", "source": "Google Search Console" }'
→ { "migration_id": "mig_..." }
2. Generate the extraction recipe (pulls live via the Google Search Console API)
curl -X POST https://app.vern.so/api/v1/migrations/$MIGRATION_ID/runs \
-H "x-api-key: $VERN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "kind": "generate", "extract_via_api": true }'
3. Run the approved extraction
curl -X POST https://app.vern.so/api/v1/migrations/$MIGRATION_ID/runs \
-H "x-api-key: $VERN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "kind": "execute" }'
4. Download the normalized CSV export
curl https://app.vern.so/api/v1/migrations/$MIGRATION_ID/exports/{template} \
-H "x-api-key: $VERN_API_KEY" -o google-search-console_export.csv

A cleaner way to extract without rebuilding source-specific plumbing.

View docs

Common questions

Can I keep a user's Google Search Console data in sync after the first import? Yes — 1 Google Search Console objects support incremental change tracking, so after the first full import Vern pulls only what changed on re-run.

Can I move a user from Google Search Console to ActiveCampaign? Yes — Vern normalizes the Google Search Console data model into typed tables that map cleanly onto ActiveCampaign and into your own product.

What does it cost to read the Google Search Console API? Google Search Console's own API access follows Google Search Console's pricing/plan; Vern is billed separately per import. Check Google Search Console's developer docs for their current limits.