API per la risoluzione dei CAPTCHA
EverySolve è un'API per la risoluzione dei CAPTCHA con 52 tipi di challenge nel catalogo. Invia una richiesta a POST /api/v1/captcha con il tipo di challenge e gli input obbligatori. Il formato del risultato dipende dal tipo e paghi solo quando una soluzione viene consegnata con successo.
52 types$0.14–$4.58 per 1.000 risoluzioni riuscite9 strutture della soluzione
Come identificare il tipo di challenge
Parti dal segnale più affidabile nella pagina. La maggior parte delle integrazioni si può identificare dallo script caricato e dagli attributi del contenitore prima di inviare una richiesta.
- 01Esamina gli script caricati dalla pagina. L'URL di uno script specifico della challenge è di solito il segnale più affidabile.
- 02Esamina gli attributi data del contenitore della challenge. Usali insieme al segnale dello script, perché nomi come
data-sitekeysono condivisi da più widget. - 03Se gli script sono in bundle o offuscati, esamina gli oggetti globali specifici della challenge esposti nel runtime del browser.
- 04Se una pagina intera blocca l'accesso prima che si carichi la pagina di destinazione, usa un tipo per pagine di challenge. Questi tipi di solito restituiscono valori di cookie anziché un token di modulo.
- 05Se hai solo un'immagine o una domanda e nessuna pagina di destinazione, scegli un task di tipo immagine, testo, punti, riquadri o numero in base alla struttura della risposta richiesta.
curl -X POST https://api.everyinfra.com/api/v1/captcha \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"turnstile","website_url":"https://example.com","website_key":"SITE_KEY"}'
Widget di challenge specifici di un brand
Un widget incorporato in una pagina o in un modulo, che di solito restituisce un token o campi con nome.
CAPTCHA di Alibaba
Il CAPTCHA di Alibaba Cloud può presentarsi come click-through, slider, puzzle o altro widget adattivo in base al rischio; non va confuso con lo scudo separato di Alibaba a livello di pagina. Il token restituito appartiene al flusso di verifica del widget; non trattarlo come un cookie di accesso alla pagina.
CaptchaFox
CaptchaFox è un widget con site key; identifica il suo script o la configurazione del widget prima di copiare la chiave. Restituisce un token del widget, non un cookie di accesso alla pagina. Non riutilizzare una chiave di reCAPTCHA o Turnstile solo perché anche il DOM riporta sitekey.
Capy Puzzle CAPTCHA
Capy Puzzle CAPTCHA usa una site key e può fare riferimento a un server API specifico del deployment. La risposta contiene i campi captchakey, challengekey e answer, da leggere insieme; non è un token singolo.
Friendly Captcha
Friendly Captcha è un widget proof-of-work con una propria site key e un endpoint facoltativo per la libreria client. Restituisce un token del widget. Non è ALTCHA, MTCaptcha o un reCAPTCHA invisibile solo perché l'interazione richiede poco sforzo.
Arkose Labs FunCaptcha
Arkose Labs FunCaptcha è di solito esposto tramite uno script Arkose o un valore data-pkey/public key e può presentare task interattivi 3D o visivi. Restituisce il token di sessione Arkose, di solito usato tramite un campo fc-token. Non è un payload di reCAPTCHA Enterprise.
CAPTCHA di GeeTest
GeeTest usa un CAPTCHA ID/site key e può mostrare challenge adattive, a scorrimento, a clic o di altro tipo. Il risultato è un set di verifica di cinque campi: captcha_id, lot_number, pass_token, gen_time e captcha_output, non un singolo token generico.
hCaptcha
hCaptcha è un widget h-captcha o una chiamata esplicita a hcaptcha.render con un proprio data-sitekey. L'API restituisce la risposta di hCaptcha in gRecaptchaResponse. Il nome del campo non rende il widget un Google reCAPTCHA.
Lemin CAPTCHA
Lemin CAPTCHA può essere mostrato in modalità boxed o invisibile e usa una site key più un container e un server API facoltativi. Restituisce answer e challenge_id insieme. Non trattarlo come il token singolo restituito da MTCaptcha o Turnstile.
MTCaptcha
MTCaptcha è un widget a sé, di solito configurato con una site key MTCaptcha; nonostante il nome simile, non è Yandex SmartCaptcha. Restituisce un token MTCaptcha. Yandex SmartCaptcha carica script di Yandex Cloud e usa smart-token; le site key non sono intercambiabili.
Prosopo Procaptcha
Prosopo Procaptcha è un widget basato su site key che, a seconda della configurazione, può presentare challenge proof-of-work o visive. Restituisce un token Procaptcha. La sola presenza di un attributo data-sitekey non indica che si tratti di reCAPTCHA, hCaptcha o Turnstile.
Griglia di immagini reCAPTCHA
Il task a griglia di reCAPTCHA risolve una domanda per immagini già estratta; non naviga in una pagina e non genera un token reCAPTCHA per il sito. Restituisce in objects gli indici dei riquadri corrispondenti, contati da 0 a partire dal riquadro in alto a sinistra, da sinistra a destra e riga per riga. Usa recaptcha_v2 per il flusso completo con il token del widget.
reCAPTCHA v2
reCAPTCHA v2 è il classico widget v2 con checkbox o invisibile, caricato tramite api.js e configurato con una site key. Restituisce gRecaptchaResponse per il modulo di destinazione. v3 si basa su un punteggio, mentre Enterprise carica enterprise.js con un contesto specifico di Enterprise.
reCAPTCHA v2 Enterprise
reCAPTCHA v2 Enterprise è una chiave Enterprise con checkbox o basata su policy, caricata tramite enterprise.js e grecaptcha.enterprise. Restituisce comunque gRecaptchaResponse, ma gli identificatori e i payload Enterprise non vanno mescolati con i valori api.js della v2 classica né con le chiavi v3 basate su punteggio.
reCAPTCHA v3
reCAPTCHA v3 si basa su un punteggio e di norma viene eseguito tramite grecaptcha.execute senza mostrare la checkbox v2. EverySolve restituisce gRecaptchaResponse, non il punteggio di valutazione di Google. È il backend del sito protetto a valutare il token e l'azione.
reCAPTCHA v3 Enterprise
reCAPTCHA v3 Enterprise usa una chiave Enterprise basata su punteggio con enterprise.js e grecaptcha.enterprise.execute. Restituisce gRecaptchaResponse per la valutazione Enterprise. Non ha la checkbox v2 e non è la v3 classica con api.js solo perché entrambe sono invisibili.
Tencent Tendi CAPTCHA
Tencent Tendi CAPTCHA usa un captchaAppId/site key e, dopo la challenge interattiva, può restituire un ticket insieme a randstr. I parametri ticket e randstr vanno usati insieme. Non sono un token di risposta reCAPTCHA né un cookie di accesso alla pagina.
Cloudflare Turnstile
Cloudflare Turnstile è un widget incorporato configurato con una site key Turnstile. Può essere gestito, non interattivo o invisibile. Restituisce un token per cf-turnstile-response. Una pagina di challenge Cloudflare, invece, blocca la navigazione e restituisce i dati del cookie di clearance.
NetEase Yidun CAPTCHA
NetEase Yidun, noto anche come NECaptcha, si inizializza con il proprio captchaId e può presentare challenge slider, a clic o adattive in base al rischio. Restituisce un token Yidun. Il captchaId e i valori del callback non corrispondono a ticket/randstr di Tencent né al risultato a cinque campi di GeeTest.
Challenge di accesso a pagina intera
Un blocco a livello di pagina che si risolve con valori di cookie o dati negli header della richiesta.
Akamai Bot Manager per SDK mobile
Questo è il flusso per SDK mobile: il target è il pacchetto di un'app iOS o Android, non un widget in una pagina web. Restituisce un set coerente di sensor data, user agent e device ID. Questi tre valori vanno usati insieme; non si tratta del cookie restituito dal flusso web di Akamai.
Akamai sec-cpt
Una risposta sec-cpt è una challenge intermedia di Akamai con un cookie di challenge e un payload JSON provenienti dalla risposta bloccata. Questo task restituisce un token di challenge dopo l'attesa definita dalla challenge. È distinto dal task del cookie web di Akamai, che richiede solo l'URL.
Akamai Bot Manager per il web
Questo è il flusso lato browser di Akamai Bot Manager, riconoscibile di solito da cookie come _abck o bm_sz anziché da una checkbox incorporata. Il risultato è una stringa di cookie per lo stesso flusso del browser, non sensor data per mobile né un token sec-cpt.
Anubis
Anubis è un gateway proof-of-work a pagina intera, riconoscibile dai dati anubis_challenge e dalla pagina di avanzamento anziché da un widget in un form. Restituisce un cookie del gateway, non il token di un widget incorporato. La durata e l'accettazione del cookie restano sotto il controllo del sito protetto.
AWS WAF CAPTCHA
Il CAPTCHA di AWS WAF è una challenge a livello di pagina o di applicazione che genera un token del browser una volta completata. Questo task restituisce dati cookie per le richieste successive. aws_waf_classify identifica solo le posizioni nelle immagini della challenge e non consente il passaggio.
Basilisk
Basilisk, noto anche come FaucetPay CAPTCHA, è un widget con site key la cui risposta è associata a uno user agent. Leggi captcha_response insieme a user_agent; non è il token singolo restituito da reCAPTCHA o Turnstile.
Castle
Castle è un flusso di valutazione del rischio e device intelligence in cui il target fornisce metadati strutturati anziché un puzzle visivo. Restituisce un set di token. Non ridurre il set a un singolo token e non dedurre un CAPTCHA visivo dal nome del prodotto.
Pagina di challenge Cloudflare
Una pagina di challenge Cloudflare blocca la destinazione prima che venga caricata ed è diversa da un widget Turnstile incorporato. Il risultato sono dati cookie, ad esempio una credenziale di clearance. Turnstile invece restituisce un token per il form e usa una site key.
CyberSiARA
CyberSiARA identifica una challenge SiARA incorporata tramite la pagina del target e un identificatore master URL. Restituisce un token per quella sessione SiARA, non un cookie per superare un bot wall generico a livello di pagina.
CAPTCHA di DataDome
Il task CAPTCHA di DataDome parte da un captcha_url già emesso per una sessione bloccata. Restituisce dati cookie legati a quel flusso. datadome_interstitial parte invece dall'URL di un sito protetto, non da un URL CAPTCHA.
Interstitial DataDome
Un interstitial DataDome è un blocco a livello di pagina raggiunto dall'URL protetto, non un task autonomo con captcha_url. Restituisce dati cookie. Usa datadome quando hai già a disposizione un captcha_url DataDome attivo.
F5 Shape
F5 Shape è un flusso di protezione del browser attorno a una pagina protetta, non un task visibile di riconoscimento di immagini. Restituisce dati cookie per il flusso della pagina. f5_tspd è la famiglia separata dei cookie TS e non va scelta basandosi solo sul nome.
Protezione F5 TS
La protezione F5 TS si riconosce dai cookie con prefisso TS e da un comportamento della pagina associato al modulo di protezione BIG-IP. Il risultato sono dati cookie della famiglia TS, non header F5 Shape né il token di un widget incorporato.
Challenge Imperva
Imperva, in passato chiamato Incapsula, protegge una pagina tramite controlli sul browser e sull'edge, non con un widget a immagini autonomo. Restituisce dati cookie per il flusso protetto, non il token di un widget né un elenco di risorse della pagina.
Kasada
Il flusso browser di Kasada si riconosce dalle richieste e dagli header di risposta x-kpsdk attorno a una pagina protetta. Restituisce i campi x-kpsdk-ct, x-kpsdk-cd, x-kpsdk-v, x-kpsdk-r e x-kpsdk-st, non una stringa di cookie del browser.
Dati di challenge Kasada
La generazione dei challenge data di Kasada parte da platform_inputs strutturati anziché dalla navigazione di un URL protetto. Restituisce x-kpsdk-cd con i valori associati ct e st. Usa kasada per il flusso browser basato su URL e proxy.
Challenge PerimeterX
PerimeterX, ora parte di HUMAN Security, è un flusso di protezione delle applicazioni a livello di pagina, non una checkbox incorporata. Restituisce i cookie che consentono l'accesso alla sessione protetta, non un token per un modulo né un annuncio immobiliare tratto da un sito protetto.
Task su immagini e domande
Da usare quando l'input è già un'immagine o un prompt e l'output è testo, coordinate, riquadri o un numero.
CAPTCHA audio
Questo task trascrive il payload di un CAPTCHA audio; non recupera l'audio da una pagina né risolve una challenge a immagini. Restituisce testo. Usa image per i caratteri in un'immagine statica e text_captcha per una domanda scritta.
Classificazione delle challenge AWS WAF
Questa è la parte di classificazione delle immagini di un CAPTCHA AWS WAF, che usa le immagini della challenge più l'istruzione mostrata. Restituisce le posizioni di clic in box, non un cookie di passaggio AWS WAF. L'interazione con il browser resta a carico di chi effettua la chiamata.
BotDeflector
Qui BotDeflector è un task di selezione su immagine: le icone inviate in icons vengono individuate, in ordine, sull'immagine inviata in body. Restituisce punti, non un token per un form né un cookie del browser, quindi applicare le posizioni resta compito di chi effettua la chiamata.
CAPTCHA con bounding box
Un task bounding box richiede rettangoli attorno agli oggetti corrispondenti in un'unica immagine sorgente. Restituisce bounding_boxes con la geometria dei rettangoli. Usa coordinates per i punti di clic e recaptcha_grid per la selezione di riquadri o oggetti.
CAPTCHA con clic su coordinate
Un task coordinate rappresenta una o più posizioni di clic in un'immagine, indipendentemente dal produttore del CAPTCHA. Restituisce punti di coordinate anziché rettangoli, testo o una distanza di trascinamento. Chi effettua la chiamata applica quei punti alle dimensioni originali dell'immagine.
CAPTCHA a immagine
Il task image esegue il riconoscimento dei caratteri sul payload di un'immagine; non è l'integrazione di un widget di marca. Restituisce il testo riconosciuto. Usa audio per i suoni, text_captcha per una domanda scritta e i task coordinate o box per risposte spaziali.
CAPTCHA a rotazione
Un task di rotazione riceve un'immagine da raddrizzare; è un task visivo generico. Restituisce angle come numero. Usa slider per una distanza di trascinamento, coordinates per i clic e bounding_box per i rettangoli.
CAPTCHA di SHEIN
Il task SHEIN è un modello specifico per il sito che localizza icone, non il task generico con bounding box. Restituisce rects per le aree corrispondenti. Per le immagini di altri siti usa invece un task generico adatto a punti o riquadri.
CAPTCHA a slider
Un task slider usa un'immagine di sfondo e un tassello separato per calcolare di quanto deve spostarsi il tassello. Restituisce distance in pixel, non una coordinata, una percentuale, un token o una traiettoria di trascinamento. Il percorso dell'interazione lo crea il chiamante.
CAPTCHA di Temu
Il task Temu confronta un array ordinato di parts con un'immagine principale della challenge. Restituisce le coordinate nello stesso ordine delle immagini candidate in parts. Non è il task di coordinate su singola immagine e non restituisce un token del sito.
CAPTCHA testuale
Un CAPTCHA testuale è una domanda scritta a cui rispondere, spesso fornita da un forum o da un CMS anziché da un fornitore di widget ospitati. Restituisce il testo della risposta. Usa image per i caratteri in un'immagine e audio per una challenge parlata.
Altri tipi di challenge
Altre challenge con parametri di richiesta e campi della soluzione propri.
ALTCHA
ALTCHA è un widget proof-of-work, di solito esposto come elemento altcha-widget anziché come griglia di immagini. Restituisce un token per il form generato dalla challenge proof-of-work, non una risposta visiva né un cookie di accesso alla pagina.
ATB CAPTCHA
atbCAPTCHA si inizializza con un appId e un apiServer e può mostrare challenge a clic, a slider o adattive in base al rischio. Il risultato è il token atbCAPTCHA. Un widget simile di un altro brand non rende intercambiabili i rispettivi identificatori.
CAPTCHA di Binance
Il task Binance parte da un validate_id della challenge anziché da un'immagine generica o da una site key reCAPTCHA. Restituisce il token della challenge per quella sessione di validazione. Un identificatore scaduto o proveniente da un altro flusso non è intercambiabile.
Cutcaptcha
Cutcaptcha espone una Misery key e una chiave API CAPTCHA separata per una challenge che produce un token. Restituisce un token; nessuna delle due chiavi è una site key generica e i loro ruoli non vanno confusi.
Hunt CAPTCHA
Hunt è registrato come task con token basato su URL, ma non è ancora documentata una firma pubblica stabile del produttore. Restituisce un token. In assenza di una firma pubblica verificata, segui la voce del catalogo; questa pagina non indica selettori DOM specifici del produttore.
Yandex SmartCaptcha
Yandex SmartCaptcha è un widget di Yandex Cloud: viene caricato tramite gli script SmartCaptcha e la challenge viene completata tramite l'API del widget. Restituisce un token per il campo smart-token. MTCaptcha è un prodotto diverso, con script e validazione lato server differenti.
Strutture della soluzione e come usarle
L'oggetto solution usa una delle 9 strutture di risposta supportate. I tipi con la stessa struttura possono condividere il codice di parsing della risposta, anche se i parametri di richiesta possono essere diversi.
| Struttura della soluzione | Restituisce | Come usarla | Tipi |
|---|---|---|---|
boxes | Bounding box | Usa le coordinate di ciascun riquadro per identificare o selezionare un'area nell'immagine di origine. | 2 |
cookie | Valori dei cookie | Aggiungi i campi dei cookie restituiti alle richieste successive dello stesso flusso. | 10 |
fields | Campi con nome | Leggi insieme i campi dichiarati; il flusso di destinazione può richiederli tutti. | 8 |
indices | Indici delle celle della griglia | Fai clic sulle celle elencate: la numerazione parte da 0 dalla cella in alto a sinistra e procede da sinistra a destra, riga per riga. Un elenco vuoto significa che nessuna cella corrisponde. | 1 |
number | Numero | Usa il valore numerico restituito come risposta richiesta dalla challenge. | 2 |
points | Punti con coordinate | Applica le posizioni in pixel restituite all'immagine di origine o al flusso di clic, nell'ordine indicato. | 4 |
text | Testo | Usa il testo restituito come risposta alla challenge. | 3 |
token | Token | Invia il token nel campo o nella richiesta di verifica previsti dal flusso di destinazione. | 21 |
tokens | Set di token | Invia insieme i token restituiti, nel modo previsto dalla richiesta del sito di destinazione. | 1 |
Domande sull'API CAPTCHA
Come identifico il CAPTCHA usato da una pagina?
Esamina prima gli script caricati, poi gli attributi data del contenitore della challenge e infine gli oggetti globali del browser specifici della challenge. Se l'intera pagina viene bloccata prima di caricarsi, usa un tipo per pagine di challenge invece di un tipo per widget incorporati.
Una risoluzione non riuscita viene addebitata?
No. EverySolve addebita solo in caso di consegna riuscita. Un risultato non riuscito o vuoto non comporta alcun addebito definitivo e l'importo eventualmente riservato viene ripristinato automaticamente sullo stesso saldo dell'account.
Quanto codice cambia quando cambia il tipo di CAPTCHA?
L'endpoint resta POST /api/v1/captcha. Cambia il valore di type e passa i parametri dichiarati per quel tipo. Il parsing della risposta si può condividere quando due tipi usano la stessa struttura tra le 9 strutture di risposta disponibili.
Cosa significa il campo available?
GET /api/v1/captcha/types elenca tutti i 52 tipi e indica se ciascuno può essere consegnato in quel momento. Verifica la disponibilità attuale prima di inviare una richiesta; un valore in cache non è una garanzia.