Documentation
Node / Express
Verify the proof token from your server with your secret key.
route example
import express from "express";
const app = express();
app.use(express.json());
app.post("/submit-form", async (req, res) => {
const verifyResponse = await fetch("https://captcha.cc/v1/siteverify", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
secret_key: process.env.CAPTCHA_CC_SECRET_KEY,
proof_token: req.body.proofToken
})
});
const verify = await verifyResponse.json();
if (!verify.success) {
return res.status(400).json({ error: "captcha verification failed", verify });
}
if (verify.metadata?.solve_mode === "shared_clearance" && req.path === "/login") {
return res.status(400).json({ error: "fresh interactive solve required" });
}
return res.json({ ok: true });
});