Skip to main content
POST https://api.acedata.cloud/webextrator/extract WebExtrator Smart Extraction API omvandlar en URL till typifierade strukturerade resultat — artiklar, produkter, recept, videor, diskussioner, rekrytering etc., samtidigt som den bifogar rengjord Markdown och ren text. När du vill ha “ren strukturerad data” istället för rå HTML, är detta gränssnittet att använda. Underliggande är en tre-lagers pipeline:
  1. schema.org JSON-LD mappare — deterministisk, noll LLM-kostnad. Täcker Wikipedia / BestBuy / AllRecipes / YouTube / de flesta nyheter / de flesta produktsidor.
  2. Typifierad LLM-extraktion — utlöses endast när schema.org inte träffar. Välj schema baserat på sidtyp, Zod strikt validering.
  3. Readability + Markdown fallback — körs alltid, kompletterar de övre fälten som inte fyllts i av de två första lagren.
Upprepade URL-förfrågningar fångas av Redis-resultatcache, <1 ms svar.

Ansökningsprocess

För att använda WebExtrator-tjänsten, gå först till Ace Data Cloud-konsolen för att hämta din API-token, som du kan spara för framtida bruk. Om du inte har loggat in eller registrerat dig, kommer du automatiskt att omdirigeras till inloggningssidan som bjuder in dig att registrera dig och logga in, och efter att ha slutfört detta kommer du automatiskt att återvända till den aktuella sidan. En API-token räcker för att anropa alla tjänster på plattformen, du behöver inte ansöka separat för varje tjänst. Första ansökan ger en gratis kvot, så att du kan prova gratis; när kvoten är slut kan du ladda på allmän balans i konsolen.
📘 Fullständig dokumentation: WebExtrator-tjänstsidan →

Auktorisering

Förfrågningsparametrar

Extract accepterar alla Render API parametrar (url, user_agent, timeout, wait_until, delay, wait_for_selector, block_resources, headers, cookies, callback_url, bypass_cache, cache_ttl_seconds, async), plus två Extract-specifika fält:
När sidan har schema.org JSON-LD är enable_llm ogiltig — den deterministiska mapparen ger direkt resultat, och kommer aldrig att slösa LLM-anrop. Du får gratis typifierade resultat.

Synkron respons

Toppfält

data.structured underfält

schema.org-mappningens täckning

Sorterat efter prioritet (träffar som structured.schemaOrg.primary): Mappningens hantering:
  • @graph behållare (rekursivt utvidgad);
  • @type array (som ["Recipe", "NewsArticle"] —— båda identifieras, den med högst prioritet vinner);
  • http://schema.org/ prefixvarianter;
  • Inbäddade Offer och AggregateOffer (den senare läser lowPrice);
  • Relativa bild-URL:er (löses till absoluta enligt finalUrl).

LLM typiserad Schema

När enable_llm: true och schema.org inte har primary, extraheras enligt URL heuristik (eller expected_type hint) en av Zod Schema valideringsmodellens utdata: LLM kommer också att göra en “last-resort” återfyllning till toppfältet när det lyckas:
  • articledescription / byline / publishedAt / language
  • productdescription
  • discussiondescription (= body de första 280 tecknen) / byline (= author) / publishedAt (= postedAt)
  • recipedescription / byline (= author)
  • videodescription / byline (= channel) / publishedAt (= uploadDate)
  • jobdescription / byline (= company) / publishedAt (= datePosted)
Återfyllning utlöses endast när den deterministiska datakällan inte har fyllt motsvarande fält — LLM är alltid den sista utvägen.

Cache

Samma begäran kommer att hashas till samma Redis-nyckel: webextrator:cache:extract:<sha256(canonical-json)>. Cache-nyckeln ignorerar async, bypass_cache, cache_ttl_seconds (detta är en operationell switch, påverkar inte svaret). cookies / headers kommer att delas upp i cache. Svar som träffar cachen kommer att ha data.cached: true och data.cacheStoredAt: <unix-ms>.

Asynkront läge och callback

Ställ in async: true för att gå in i asynkront läge (att tillhandahålla callback_url kommer också automatiskt att gå in). Plattformen returnerar omedelbart (HTTP 200):
När uppgiften är klar skickas hela kuvertet POST till din callback_url (om det har konfigurerats). Du kan också aktivt fråga senare via /webextrator/tasks.

Exempel

1. Wikipedia-artikel (schema.org träff, ingen LLM behövs)

data.structured.schemaOrg.primary nyckelfält:

2. BestBuy produkt sida (schema.org träff)

schema.org utdrag:

3. AllRecipes receptsida (inklusive näringsinnehåll och steg)

schema.org utdrag:

4. HN diskussionssida (utan JSON-LD —— behöver aktivera LLM)

data.structured.llm.data:
Toppfält har också fyllts i: byline = "alice"publishedAt = "..."

5. Amazon produkt sida (Amazon utan JSON-LD —— behöver aktivera LLM)

data.structured.llm.data (typad produkt):

Python (requests)

Node.js (fetch)

Tips och fallgropar

  • Om du kan skicka expected_type, gör det. Gratis tips, hoppa över heuristisk bedömning, särskilt användbart för sidor vars URL-mönster inte finns i den inbyggda listan.
  • enable_llm: true på sidor med schema.org träff är gratis. LLM anropas endast när schema.org inte har en primär, så det är säkert att ha det aktiverat som standard.
  • Vid felsökning, kolla först rawSignals.hasJsonLd. Om det är true men structured.schemaOrg.primary är null, betyder det att sidan använde en typ som vår mappare ännu inte har täckt — rapportera ett problem så lägger vi till det.
  • structured.llmError är informativ. Begäran lyckas fortfarande, heuristiska resultat returneras fortfarande. Kolla llmError.error för att lokalisera orsaken (timeout, JSON-parsing misslyckades, Zod-validering misslyckades).
  • Icke-artikelsidor sorterar inte links[] efter relevans. Endast enligt “övre gräns 100 poster + filtrera bort ogiltiga protokoll” görs en ansträngning för att rensa.
  • Cacheträffar debiteras också. Cachen är för fördröjning och skydd av webbläsarpoolen, inte för att spara pengar.