자체 방문 통계는 항상 수집됩니다. 사용자가 공개 페이지를 어떻게 이용하는지 파악하는 데 쓰이는 Google Analytics(로그인한 워크스페이스는 제외)는 동의한 경우에만 사용됩니다. 자세한 내용은 개인정보 처리방침을 참고하세요.

reCAPTCHA v2 solver API

POST

API 상태

24시간 상태
정상
24시간 평균 소요 시간
—
  • 양호 / 정상
  • 사용 가능
  • 제한적
  • 대부분 작동 중단
정상

EverySolve의 reCAPTCHA v2 API는 챌린지 워크플로에 필요한 토큰 값을 반환합니다. type을 recaptcha_v2로 설정하고 아래 입력값을 담아 POST /api/v1/captcha로 요청을 보내세요.reCAPTCHA v2는 api.js로 로드되고 사이트 키로 설정되는 기존 체크박스형 또는 invisible v2 위젯입니다. 대상 폼에 사용할 gRecaptchaResponse를 반환합니다. v3는 점수 기반이며, Enterprise는 Enterprise 전용 컨텍스트와 함께 enterprise.js를 로드합니다.

성공적으로 해결된 CAPTCHA 1,000개당 $1.11(성공한 CAPTCHA 해결 1건당 $0.001111). CAPTCHA 해결에 실패한 경우에는 과금되지 않습니다.

AI 프롬프트

EveryInfra "reCAPTCHA v2" API를 호출하는 스크립트를 작성해 주세요.

API 명세:
- 요청: Authorization: Bearer <API Key> 헤더와 함께 POST https://api.everyinfra.com/api/v1/captcha. 키는 EVERYINFRA_API_KEY 환경 변수에서 읽고 코드에 직접 넣지 마세요.
- 요청 본문의 type에 recaptcha_v2 값을 지정하고, 파라미터는 그 옆 같은 레벨에 넣으세요.
- 필수 파라미터:
  - website_url: 이 챌린지가 표시되는 정확한 페이지입니다. 사이트 홈페이지만이 아니라 관련 경로까지 포함해야 합니다.
  - website_key: 해당 대상 통합에서 그대로 복사한 공개 사이트 키 또는 위젯 키입니다. 비밀 키가 아닙니다.
- 선택 파라미터:
  - invisible: 대상 위젯이 invisible 모드를 사용하는지 여부입니다. 이미지가 보이지 않는다는 이유만으로 판단하지 마십시오.
  - data_s: reCAPTCHA v2 연동에서 해당 배포가 사용하는 경우 노출되는 data-s 값입니다.
  - page_action: 대상 reCAPTCHA 실행에 사용되는 액션 문자열입니다. 대소문자와 철자를 정확히 그대로 유지하세요.
  - api_domain: 대상 위젯이 표준 도메인과 다른 도메인을 사용할 때 지정하는 API 호스트 이름입니다. (허용 값: www.google.com / www.recaptcha.net)
- 요청 본문 예시:
{
  "type": "recaptcha_v2",
  "website_url": "https://www.google.com/recaptcha/api2/demo",
  "website_key": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
- 과금: 성공적으로 해결된 CAPTCHA 1,000개당 $1.11(성공한 CAPTCHA 해결 1건당 $0.001111). CAPTCHA 해결에 실패한 경우에는 과금되지 않습니다.
- 422가 반환되면 오류에 포함된 제안과 허용 값을 참고해 파라미터를 수정하세요. 429 또는 503이 반환되면 Retry-After만큼 기다린 후 재시도하세요.

코드를 작성하기 전에 처리할 항목 수와 결과 저장 형식을 먼저 물어본 다음, 계획과 대략적인 비용을 저에게 확인받아 주세요.

요청 파라미터

이름위치타입필수기본값설명
Authorizationheaderstring예-Bearer 뒤에 API 키를 붙여 입력합니다. API 키는 콘솔에서 생성하며, URL이나 코드 저장소에 절대 넣지 마세요.
typebodystring예recaptcha_v2CAPTCHA 유형이며 고정값입니다.
website_urlbodystring예-이 챌린지가 표시되는 정확한 페이지입니다. 사이트 홈페이지만이 아니라 관련 경로까지 포함해야 합니다.
website_keybodystring예-해당 대상 통합에서 그대로 복사한 공개 사이트 키 또는 위젯 키입니다. 비밀 키가 아닙니다.
invisiblebodyboolean아니요-대상 위젯이 invisible 모드를 사용하는지 여부입니다. 이미지가 보이지 않는다는 이유만으로 판단하지 마십시오.
data_sbodystring아니요-reCAPTCHA v2 연동에서 해당 배포가 사용하는 경우 노출되는 data-s 값입니다.
page_actionbodystring아니요-대상 reCAPTCHA 실행에 사용되는 액션 문자열입니다. 대소문자와 철자를 정확히 그대로 유지하세요.
api_domainbodystring (enum)아니요-대상 위젯이 표준 도메인과 다른 도메인을 사용할 때 지정하는 API 호스트 이름입니다.허용 값www.google.comwww.recaptcha.net

코드 샘플

bash
curl -X POST 'https://api.everyinfra.com/api/v1/captcha' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "type": "recaptcha_v2",
  "website_url": "https://www.google.com/recaptcha/api2/demo",
  "website_key": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}'

OpenAPI 정의(JSON)샘플 코드는 EVERYINFRA_API_KEY 환경 변수에서 키를 읽으므로, 복사한 코드에는 API 키가 포함되지 않습니다.

응답 예시

실제 응답

위 코드 샘플의 파라미터로 이 API를 호출해 October 24, 2026 at 22:38(UTC)에 수집한 결과입니다. token과 solution은 해당 호출의 실제 응답입니다. id, billing, quota는 호출할 때마다 달라지므로 구조만 표시합니다.

json
{
  "id": "req_…",
  "type": "recaptcha_v2",
  "token": "0cAFcWeA7Rd5wv7e9bepF8irY4Nt34xis_Z2Odugx9vwI8EJaB0jsbNpD-1yWTjoq0UkbktWz-_aspPkwtcI5tHOUImrdjAs8UyXvoEm1fV8lMYjH7NLvRhk0cODJN1LBQax5TCIKxaUo4QCWd5uv6KyLQeKVvBqc63gfsJUrpPxOvR7SwgBRwX4BjeINjZoWmyx0rEE4cDLXtsYoEALwNLVOj3EB5w8vDKSFlUaC3HIVV5LCj7mX-9J2ydklexJSGSXGKf_35j9ESCHownOdjM1…",
  "solution": {
    "gRecaptchaResponse": "0cAFcWeA7Rd5wv7e9bepF8irY4Nt34xis_Z2Odugx9vwI8EJaB0jsbNpD-1yWTjoq0UkbktWz-_aspPkwtcI5tHOUImrdjAs8UyXvoEm1fV8lMYjH7NLvRhk0cODJN1LBQax5TCIKxaUo4QCWd5uv6KyLQeKVvBqc63gfsJUrpPxOvR7SwgBRwX4BjeINjZoWmyx0rEE4cDLXtsYoEALwNLVOj3EB5w8vDKSFlUaC3HIVV5LCj7mX-9J2ydklexJSGSXGKf_35j9ESCHownOdjM1…"
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

reCAPTCHA v2 파라미터를 가져오는 위치

data-sitekey나 render 호출에서 website_key를 복사하십시오. invisible, data_s, page_action, api_domain은 해당 v2 연동에 있을 때만 쓰는 선택 값입니다.

페이지에서 이 값을 찾는 코드

recaptcha_v2-1.html
<div class="g-recaptcha" data-sitekey="your_site_key"></div>

reCAPTCHA v2을(를) 식별하는 방법

reCAPTCHA v2는 api.js로 로드되고 사이트 키로 설정되는 기존 체크박스형 또는 invisible v2 위젯입니다.

reCAPTCHA v2은(는) 무엇이 다른가요

대상 폼에 사용할 gRecaptchaResponse를 반환합니다. v3는 점수 기반이며, Enterprise는 Enterprise 전용 컨텍스트와 함께 enterprise.js를 로드합니다.

reCAPTCHA v2 API 사용 방법

reCAPTCHA v2 API는 토큰 값을 gRecaptchaResponse에 담아 반환합니다. 솔루션 형식은 token입니다. 대상 워크플로가 요구하는 필드나 검증 요청에 토큰을 제출합니다.

  1. 01GET /api/v1/captcha/types를 조회하고 recaptcha_v2 항목을 선택합니다.
  2. 02type: "recaptcha_v2"와 필수 파라미터를 POST /api/v1/captcha로 전송합니다.
  3. 03gRecaptchaResponse에서 토큰 값을 읽습니다.
  4. 04대상 워크플로가 요구하는 필드나 검증 요청에 토큰을 제출합니다.

과금 및 사용 가능 여부 EverySolve는 솔루션이 성공적으로 전달된 경우에만 과금합니다. 실패한 시도에는 최종 비용이 청구되지 않으며, 보류된 금액은 자동으로 반환됩니다. available과 가격 필드는 고정된 페이지 내용으로 간주하지 말고, 요청 시점에 GET /api/v1/captcha/types에서 조회하세요.

reCAPTCHA v2 통합 관련 자주 묻는 질문

유형을 선택하기 전에 reCAPTCHA v2을(를) 어떻게 식별할 수 있나요?

reCAPTCHA v2는 api.js로 로드되고 사이트 키로 설정되는 기존 체크박스형 또는 invisible v2 위젯입니다. 이러한 신호가 대상 챌린지와 일치하는지 확인한 뒤에만 recaptcha_v2 유형을 사용하세요.

reCAPTCHA v2 요청에는 대상 페이지의 어떤 값을 넣어야 하나요?

data-sitekey나 render 호출에서 website_key를 복사하십시오. invisible, data_s, page_action, api_domain은 해당 v2 연동에 있을 때만 쓰는 선택 값입니다. 다음을 제공하세요: website_url 및 website_key. 선택 파라미터는 invisible, data_s, page_action 및 api_domain입니다.

reCAPTCHA v2은(는) 무엇을 반환하며, 무엇과 혼동하지 말아야 하나요?

reCAPTCHA v2 API는 토큰 값을 gRecaptchaResponse에 담아 반환합니다. 솔루션 형식은 token입니다. 대상 폼에 사용할 gRecaptchaResponse를 반환합니다. v3는 점수 기반이며, Enterprise는 Enterprise 전용 컨텍스트와 함께 enterprise.js를 로드합니다.

reCAPTCHA v2 통합을 설명하는 외부 자료는 무엇인가요?

Google은 v2 체크박스 및 invisible 위젯 렌더링 방법을 문서로 제공합니다. [reCAPTCHA v2 참고 자료 열기](https://developers.google.com/recaptcha/docs/display). 다만 EverySolve 전용 필드와 실시간 사용 가능 여부는 유형 카탈로그에서 확인해야 합니다.

reCAPTCHA v2 참고 자료

전체 CAPTCHA 유형

오류 및 과금

401
키가 없거나 유효하지 않습니다.
402
잔액이 부족합니다. 먼저 충전하세요.
422
파라미터 이름 또는 값이 올바르지 않습니다. 오류에 제시된 제안을 참고해 수정하세요. 과금되지 않습니다.
429
분당 요청 속도 제한에 도달했습니다. Retry-After만큼 기다린 뒤 다시 시도하세요.
503
처리를 완료하지 못했습니다. 보류된 금액은 잔액으로 반환됩니다. 결과가 불확실하면 재시도하기 전에 먼저 확인하세요.
200 빈 결과
데이터가 없습니다. 과금되지 않습니다.

오류