Articles on: Search Engine Optimization

How to Fix "Failed to Verify the URL Ownership" (Google Jobs Indexing API)

Notice: This error usually appears when something in your Google Jobs Indexing API setup is incomplete or has broken, most commonly a missing Search Console owner or a DNS/CDN change on your domain.


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.


Important: Re-adding the service account alone will not fix this. If the property itself is unverified, the owner won't stick and the error will continue. You must re-verify the domain first.


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.


Note: DNS changes can take a few minutes to propagate. Wait a moment before clicking Verify.


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).


Tip: This is the same service account email found in the 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.


Note: It may take approximately 30–60 minutes for newly indexed jobs to reflect in your quota usage.


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

Was this article helpful?

Share your feedback

Cancel

Thank you!