How to Fix "Failed to Verify the URL Ownership" (Google Jobs Indexing API)
If your Google Jobs Indexing API isn't working and Google returns the error "Permission denied. Failed to verify the URL ownership.", it's caused by one of two issues:
- The service account isn't an Owner in Search Console. This usually comes up during first-time setup.
- A DNS or CDN change broke your domain verification. This usually comes up when the integration was working fine and then suddenly stopped.
Find the issue that matches your situation below and follow its steps.
Issue 1: The Service Account Isn't an Owner in Search Console
The Indexing API only accepts job URLs for a property where the connected service account is a verified Owner in Google Search Console. If you never added the client_email from your API key as an Owner, or added it with a lower permission level, Google will reject the requests.
Step 1: Copy the Service Account Email
In JBoard, go to SEO Tools → Google Jobs Indexing API → View API Key and copy the email in the client_email field. It ends in .iam.gserviceaccount.com.
See Step: View API Key in our setup guide if you need help finding it.
Step 2: Add It as an Owner in Search Console
Open your Google Search Console, go to Settings → Users and permissions → Add user, paste in the service account email, and set the permission to Owner (not Full or Restricted).
Step 3: Retry and Confirm
Post or update a job that falls within your rapid index filters, then check that the error is gone.
Issue 2: A DNS or CDN Change Broke Domain Verification
When you change your DNS or move your domain behind a CDN like Cloudflare, the DNS records that proved your ownership (such as Google's verification TXT record) often don't carry over automatically. Cloudflare imports most records during setup but frequently misses TXT records.
Once that record is gone, Google re-checks ownership, fails, and removes all owners from the property, including the service account. That's why the integration can work for months and then break shortly after a Cloudflare or DNS change.
Step 1: Re-verify Your Domain in Google Search Console
Open your Google Search Console and confirm your property still shows as verified.
If it doesn't, re-verify it:
- If you use DNS verification, copy Google's verification TXT record and add it back in your Cloudflare DNS settings (Cloudflare dashboard → your domain → DNS → Records → Add record → type TXT).
- TXT records are never proxied, so Cloudflare's orange cloud does not affect them. No extra configuration is needed.
- We recommend using a Domain property rather than a URL-prefix property, as it covers all variations (http/https, www/non-www) and avoids mismatches after a Cloudflare move.
Step 2: Re-add the Service Account as an Owner
Once the property shows as verified again, go to Settings → Users and permissions → Add user, paste in the service account email (it ends in .iam.gserviceaccount.com), and set the permission to Owner (not Full or Restricted).
client_email field of your JSON key. In JBoard you can find it under SEO Tools → Google Jobs Indexing API → View API Key.Step 3: Re-enable the Integration in JBoard
Return to JBoard, open SEO Tools → Google Jobs Indexing API, and re-enable the integration.
Step 4: Retry and Confirm
Post or update a job that falls within your rapid index filters, then check that the error is gone.
How to Verify It's Fixed
Return to your Google Cloud account and check that your daily quota usage is increasing again, or check the Google Indexing API section of your JBoard dashboard for jobs pushed to Google in the last 24 hours.
If you're setting the integration up for the first time, see our full guide: How to Set Up Indexing API for Google Jobs?
If you still see the error after following these steps, reach out via the customer support chat in the bottom right corner and we'll be happy to help.
Updated on: 19/10/2026
Thank you!
