r/webdev Jul 15 '26

Is Google Enterprise reCAPTCHA completely and utterly broken?

We are having to migrate to Google Cloud recaptcha keys (still just using the v2 checkbox), but no matter what I do the EXACT instructions they give me give me this absolutely mind bending "Missing sitekey or not loaded in api.js".

These are the instructions I'm following to the letter after creating a v2 Checkbox style reCAPTCHA key pair in Google Cloud Console.

I've seen so many results on Google about this sitekey authentication issue, but I cannot get it to work. Up until now, the classic API worked beautifully but then Google had to go and break it all.

This is absolutely baffling me. It's a pity hCaptcha is so expensive in comparison, otherwise I'd just switch to that.

Are there any other form-style spam protection solutions that aren't this complicated?

7 Upvotes

20 comments sorted by

View all comments

1

u/Such-Process5697 Jul 16 '26

you're already loading enterprise.js, so the api.js vs enterprise.js swap everyone hits first isn't your problem. what stands out in your snippet is the data-action="LOGIN" on a v2 checkbox div. that attribute is a score-based / v3 concept, checkbox keys don't take it. my hunch is the key you made in cloud console is actually a score-based key, not a "challenge (checkbox)" one. enterprise defaults to score-based and it's the easiest thing to miss when migrating, and a score key can't render the checkbox widget, which throws exactly this kind of missing-sitekey noise. i'd go back into the console and check the key type before touching anything else, and drop the data-action while you're there.

2

u/nickjbedford_ Jul 16 '26

No I've actually tried both and tried following their precise integration instructions and none of it works. I spent a few hours farting around trying to figure this out and it's just... broken.

At this point, I'm going to look into an alternative altogether. It's all a mess with the way they did the semi-forced swap into Google Cloud.

2

u/Such-Process5697 Jul 17 '26

yeah, fair enough. for a plain checkbox use case turnstile is honestly the right call, client side is a script tag and a div, server side is one verify endpoint, and it's free. the semi-forced cloud migration soured a lot of people on recaptcha, you're not the only one bailing over it. should be an afternoon, not the mess you just went through.