Google Search Console
Connect your Google Search Console account so you can pull backlinks directly into audits without exporting CSVs.
GSC integration lets you skip the manual CSV export step. Connect once, then any audit can pull backlinks directly from your verified properties.
GSC import is a Pro+ feature. Free plan is CSV-only.
What gets imported
When you trigger a GSC import, we call the Search Console API to fetch:
- External links report - URLs from other sites that link to pages on the property.
- For each external link: the source URL and the target URL on your site.
- Anchor text where available (GSC sometimes omits it).
Per Google's API limits we can pull up to 1,000 links per request, paginated. A typical small site (under 5,000 backlinks) imports in 30-60 seconds.
What we do NOT import
- Internal links (we only care about backlinks from other sites).
- Top linking sites aggregate (we use the per-link data, not the rollup).
- Anchor text statistics (we use per-link anchors when present).
- Search performance data (impressions, clicks, position) - that's not backlink data.
Connecting GSC
Open the integration settings
Click your account avatar → Settings → Integrations.
📸 Integrations settings page with Google Search Console card
Click Connect Google Search Console
A Google OAuth popup opens.
📸 Google OAuth consent screen for Search Console
Pick the Google account
Use the Google account that has access to the Search Console properties you want to use. This doesn't have to match your TraceLinker login email - many users sign in to TraceLinker with one email and use a separate Google account for SEO work.
Approve the requested scope
We request a single scope: https://www.googleapis.com/auth/webmasters.readonly. This is read-only access to Search Console data. We cannot:
- Modify any Search Console settings.
- Submit URLs for indexing.
- Read other Google services (Gmail, Drive, Calendar, etc.).
- Take any write action.
The scope is read-only, full stop. If you ever revoke permission, our access is severed instantly via Google's revoke endpoint.
Land back in Settings
You return to the Integrations page with a green "Connected" badge. The dropdown of properties is populated.
📸 Integrations page after connecting GSC
Importing backlinks
Once connected:
Open New Audit
Click Audits → + New Audit, then switch to the Google Search Console tab.
Pick a property
The dropdown lists every property your connected Google account has access to. URL-prefix and domain properties both work.
Choose date range
GSC stores 16 months of link data. Pick:
- Last 90 days (default) - what's active and changing recently.
- Last 6 months - typical periodic refresh.
- Last 16 months - full historical pull on first import.
Click Pull from GSC
We page through the GSC API and accumulate backlinks. The request count and progress show in real-time.
📸 GSC import in progress with row counter
After the pull completes, the rest of the audit flow is identical to a CSV-uploaded audit.
How often to pull
Best practice: monthly. GSC's link data lags Google's index by 2-3 days but otherwise is your most authoritative source.
A common rhythm:
- 1st of every month: GSC pull on every client property.
- Audit results compared against the previous month to spot transitions in links GSC saw but you weren't actively monitoring.
- High-value rows promoted to monitoring.
What if I have multiple Search Console accounts?
You can only connect one Google account at a time. To switch:
- Settings → Integrations → Disconnect.
- Reconnect with the other Google account.
If you regularly need both accounts, run them on two separate TraceLinker accounts (free or upgrade as needed). We don't support multi-account GSC merging in a single workspace - it would muddy the audit/monitoring lifecycle.
Self-hosting GSC integration
If you self-host TraceLinker (open-source build), you need to register your own Google OAuth client:
- Google Cloud Console → APIs & Services → Credentials.
- Create OAuth client ID, type "Web application".
- Authorized redirect URI:
https://yourdomain.com/api/auth/gsc/callback. - Authorized JavaScript origins:
https://yourdomain.com. - Enable the Search Console API: APIs & Services → Library → "Search Console API" → Enable.
Set in your .env:
GOOGLE_GSC_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_GSC_CLIENT_SECRET=your-client-secret
GOOGLE_GSC_REDIRECT_URI=https://yourdomain.com/api/auth/gsc/callback
Verification: run an OAuth flow with your test account, confirm the callback succeeds, confirm a property dropdown populates.
Disconnecting GSC
Settings → Integrations → Disconnect. We:
- Call Google's token revoke endpoint - access token destroyed Google-side.
- Delete the stored refresh token from our database.
- Mark the integration as disconnected in your account.
After disconnect, GSC import is no longer available until you reconnect. Existing audits and monitored links are unaffected - they live independently of the GSC connection.
Troubleshooting
"This Google account does not have access to any Search Console properties." You're connected to a Google account that isn't a verified owner or user on any Search Console property. Add your account in Search Console → Settings → Users and permissions, then come back and pick the property.
"Quota exceeded for project." Google enforces per-project quotas on the Search Console API. We've never hit them in production but if you do, wait an hour and retry. If it's a recurring problem, contact support.
"Authentication expired." Refresh tokens occasionally expire (usually after 6 months of inactivity). Reconnect via Settings → Integrations.
The import returns 0 links. Either the property genuinely has no external links (very new site), or the date range is too narrow. Try expanding to "Last 16 months" and retry.
A backlink shows in Search Console but not in our import. GSC's UI sometimes shows links from the most recent crawl that haven't propagated to the API yet. The API typically lags the UI by 24-48 hours. Retry the import in a day.
Privacy
- OAuth tokens are encrypted at rest (AES-256) in our database.
- We do not log GSC API responses - we process the data and store only what's needed for the audit (source URL, target URL, anchor).
- Disconnect immediately revokes access with no orphaned tokens left.
- We never request, see, or store your Google account password.
Next
- Run a Backlink Audit - GSC import is one entry into the audit flow.
- Plans & Pricing - GSC is a Pro+ feature.