POST https://api.acedata.cloud/webextrator/render
L’API di rendering web WebExtrator è un servizio di rendering web basato su Chromium headless. Fornisci un URL,
restituisce l’HTML completamente renderizzato (inclusi i contenuti iniettati da JS), testo semplice, titolo della pagina e URL finale.
Render è l’interfaccia più basilare di WebExtrator. Se ti servono risultati di estrazione strutturati (corpo dell’articolo,
prezzo del prodotto, ingredienti della ricetta …), usa
/webextrator/extract —— esegue un’intera pipeline di estrazione tipizzata
sulla stessa base di rendering.
Procedura di richiesta
Per utilizzare la pagina del servizio WebExtrator, vai prima alla console Ace Data Cloud per ottenere il tuo API Token, da conservare come backup.
Se non hai ancora effettuato l’accesso o non ti sei registrato, verrai automaticamente reindirizzato alla pagina di accesso per invitarti a registrarti e ad accedere; al termine, tornerai automaticamente alla pagina corrente.
Un solo API Token può chiamare tutti i servizi della piattaforma, senza bisogno di richiederne uno separatamente per ogni servizio. La prima richiesta include crediti gratuiti, per provare gratuitamente; quando i crediti sono insufficienti, puoi ricaricare il saldo comune nella console.
📘 Documentazione completa: Pagina del servizio WebExtrator →
Autenticazione
Tutte le interfacce WebExtrator utilizzano l’autenticazione standard Bearer Token:Parametri della richiesta
Il contratto della piattaforma utilizza uniformemente snake_case. Il servizio di rendering interno supporta camelCase, ma le chiamate esterne utilizzano sempre snake_case.
Struttura dei Cookie
Risposta sincrona
Risposta asincrona
Quandoasync=true (o viene fornito callback_url) restituisce immediatamente (HTTP 200):
POST a callback_url (se configurato), oppure potrà essere
interrogato attivamente tramite
/webextrator/tasks.
Struttura del callback
La piattaforma invia tramitePOST lo stesso envelope identico alla modalità sincrona a callback_url,
con Content-Type: application/json. La restituzione di qualsiasi 2xx viene considerata una conferma; i 5xx verranno
ritentati con backoff esponenziale per circa 5 minuti.
Risposta di errore
Struttura dell’errore:
Esempi
cURL
Python (requests)
Node.js (fetch)
Asincrono + callback
{ "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 };
quando l’attività è completata, la piattaforma invia tramite POST il risultato completo al tuo callback_url.
Forzare il bypass della cache
Suggerimenti e insidie
- È importante scegliere correttamente
wait_until.networkidleè il più stabile ma il più lento;domcontentloadedè veloce ma potrebbe tralasciare contenuti iniettati in modo asincrono;loadè adatto alle pagine statiche tradizionali. - La chiave della cache ignora
async. Le richieste sincrone e asincrone per lo stesso URL colpiscono la stessa voce della cache, quindi passare arbitrariamente dall’una all’altra non la invalida. - La chiave della cache ignora
bypass_cacheecache_ttl_seconds. Questi due sono interruttori operativi, non influiscono sul contenuto della risposta. cookieseheaderssuddividono la cache in bucket. Personalizzare questi due fa sì che il primo hit della stessa combinazione fallisca.- Le SPA pesanti superano spesso i 30 secondi predefiniti. Si consiglia
timeout: 60,wait_until: "domcontentloaded",delay: 4, insieme await_for_selectorper attendere gli elementi di reale interesse. block_resourcesè il percorso più rapido per ridurre la latenza. Per impostazione predefinita immagini / font / media sono già bloccati; se la tua estrazione non dipende dal layout CSS, aggiungerestylesheetpuò renderla ancora più veloce.

