Skip to main content
POST https://api.acedata.cloud/webextrator/extract WebExtrator intelligent extrahering API omvandlar en URL till typad strukturerad 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. Typad LLM extrahering — 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, fyller i toppfält som de två första lagren inte har fyllt.
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änstsida →

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, kommer aldrig att slösa LLM-anrop. Du får gratis typade 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;
  • Nästlade 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 någon primary, extraktorn använder URL heuristik (eller expected_type hint) för att välja en av Zod Schema valideringsmodellens utdata: LLM kommer också att göra “last-resort” återfyllning till toppfältet när:
  • 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 säkerhetsåtgärden.

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 är konfigurerat). 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

  • Kan skicka expected_type så 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 primary, 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 täcker — 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 “max 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.