/v1/scrapes endpoint kun je LLM-vriendelijke Markdown, HTML, tekst, screenshots of gestructureerde JSON in real-time uit elke URL halen.
- Levert schone markdown, gestructureerde data, screenshots of html
- Haal JSON op via Parsers of LLM extractie
- Behandelt dynamische inhoud: js-gerenderde sites, inlogstromen via acties, PDF’s
Een URL scrapen
Gebruik het/v1/scrapes endpoint om een enkele URL te scrapen en kies uitvoerformaten.
Installatie
Gebruik
Je kunt het endpoint gebruiken om een enkele URL te scrapen en uitvoerformaten te kiezen. De verplichte parameters zijnurl_to_scrape en formats.
Enkele andere veelvoorkomende parameters zijn wait_before_scraping (in milliseconden), remove_css_selectors (standaard, geen, of een array van selectors), en country.
Antwoord
De API retourneert eenscrape object als antwoord.
De scrape heeft enkele eigenschappen zoals id en result.
Het result object heeft de volgende velden (afhankelijk van de formats parameter kunnen sommige null zijn):
html_content: de HTML-inhoud van de pagina. Gebruikformats: ["html"]om dit te krijgen.markdown_content: de MD-inhoud van de pagina. Gebruikformats: ["markdown"]om dit te krijgen.text_content: de tekstinhoud van de pagina. Gebruikformats: ["text"]om dit te krijgen.json_content: de JSON-inhoud van de pagina. Gebruikformats: ["json"]om dit te krijgen en geef ook eenparserofllm_extractparameter op.screenshot_hosted_url: de gehoste URL van de screenshot.html_hosted_url: de gehoste URL van de HTML-inhoudmarkdown_hosted_url: de gehoste URL van de Markdown-inhoudjson_hosted_url: de gehoste URL van de JSON-inhoudtext_hosted_url: de gehoste URL van de tekstinhoudlinks_on_page: de links op de paginapage_metadata: de metadata van de pagina
Caching
Om de snelheid te optimaliseren, biedt Olostep een optionele gedeelde caching-laag voor HTML, Markdown, tekst en geparseerde JSON-resultaten.Hoe het werkt
Wanneer een scrape wordt aangevraagd, controleert Olostep of er al een overeenkomende scrape bestaat met dezelfde parameters. Als er een voldoende recente match wordt gevonden, wordt de inhoud direct vanuit Olostep’s opslag geserveerd zonder een nieuwe browser scrape te starten.- Gedeelde Cache: De cache wordt wereldwijd gedeeld. Als een andere aanvraag exact dezelfde URL met exact dezelfde configuratie binnen jouw versheidsvenster heeft gescraped, profiteer je van de snelheidswinst.
- Nabewerking is nog steeds live: Operaties zoals
llm_extractenlinks_on_pagefilters worden on-the-fly uitgevoerd bovenop het gecachte document. Je cachet alleen de kernpagina-ophaling, waardoor je gestructureerde extracties dynamisch blijven.
Versheid en max_age
Standaard voert de productie-API altijd een live scrape uit om real-time nauwkeurigheid te garanderen. Je kunt kiezen voor caching met behulp van de max_age parameter.
- Standaard API Gedrag (
max_age: 0): Elke API-aanvraag triggert een verse scrape. - Standaard Playground Gedrag: In de dashboard playground is
max_agestandaard ingesteld op 24 uur (86400seconden). - Maximale Leeftijd: De cache heeft een harde limiet van 7 dagen (
604800seconden). Elkemax_agedie boven deze limiet wordt aangevraagd, valt terug naar een maximum van 7 dagen.
Gebruik Voorbeelden
Wanneer wordt de cache overgeslagen?
De cache wordt automatisch omzeild (waardoor een live scrape wordt geforceerd) wanneer je aanvraag nodig heeft:- Interactieve sessies: Aanvragen die
session_idgebruiken of een aangepaste browsercontextladen. - Screenshots: Elke aanvraag die
screenshotin formats opneemt of de screenshotoptie instelt, omzeilt de cache. - Speciale bestandstypen: Binaire bestanddownloads of ruwe PDF-rendering.
- Debugging & Netwerk: Het vastleggen van
network_callsof het gebruik van asynchrone parser jobs.
Links extraheren
Geef eenlinks_on_page object door in de aanvraag om de links op de pagina te verzamelen. Alle links worden geretourneerd als absolute URL’s.
include_links/exclude_links: glob patronen die overeenkomen met het URL pad van elke link.query_to_order_links_by: herordent de geretourneerde links op relevantie voor deze tekst.
Glob patronen komen overeen met padsegmenten. Een enkele
* overschrijdt niet /, dus "/blog/*" komt overeen met "/blog/post-1" maar niet de index "/blog" zelf — en het komt nooit overeen met "/blog?tag=x" omdat querystrings geen deel uitmaken van het pad. Om de index ook op te nemen, gebruik "/blog*" of "{/blog,/blog/**}".Scrape Formaten
Kies een of meer uitvoerformaten viaformats:
markdown: LLM-vriendelijke markdownhtml: gereinigde HTMLtext: platte tekstjson: gestructureerde uitvoer (via parser of llm_extract)raw_pdf: ruwe PDF-bytes geëxtraheerd naar gehoste URLscreenshot: ingesteld via acties om een screenshot te maken en een gehoste URL te retourneren
result geretourneerd als *_content velden en een *_hosted_url ook.
Gestructureerde data extraheren
Je kunt gestructureerde JSON op twee manieren extraheren: met behulp van Parsers of LLM extractie.Een Parser gebruiken (aanbevolen voor schaal)
Definieerformats: ["json"] en geef een parser id op.
LLM extractie gebruiken (schema en/of prompt)
Geefllm_extract op met een JSON Schema (schema) en/of een natuurlijke taal instructie (prompt). Je kunt beide parameters doorgeven, maar als beide worden opgegeven, heeft schema voorrang.
In plaats daarvan, als je alleen een prompt doorgeeft, zal de LLM de data extraheren op basis van de prompt en zelf de datastructuur bepalen.
result.json_content retourneert een gestringde JSON. Parse het in je code als je een object nodig hebt.
Prijzen: llm_extract kost 10 credits per scrape. Om de kosten te verlagen, kun je je eigen API-sleutels gebruiken of gebruiksgebaseerde prijzen inschakelen. Neem contact op met info@olostep.com om toegang te krijgen.
Links op de pagina extraheren
Met delinks_on_page optie kun je alle links extraheren die aanwezig zijn op de pagina die je scrapt. Het accepteert de volgende parameters om de geëxtraheerde links te filteren en te ordenen:
absolute_links(boolean, standaard:true): Wanneer waar, retourneert het volledige URL’s (bijv.https://example.com/page) in plaats van relatieve paden (bijv./page).query_to_order_links_by(string): Ordent de geretourneerde links op hun gelijkenis met de verstrekte zoektekst, waarbij de meest relevante overeenkomsten eerst worden geprioriteerd.include_links(array van strings): Filter geëxtraheerde links met behulp van glob patronen. Gebruik patronen zoals*.pdfom bestandsextensies te matchen,/blog/*voor specifieke paden, of volledige URL’s zoalshttps://example.com/*. Ondersteunt wildcards (*), tekenklassen ([a-z]), en alternatie ({pattern1,pattern2}).exclude_links(array van strings): Sluit specifieke links uit met behulp van glob patronen, volgens dezelfde syntaxis alsinclude_links.
Interactie met de pagina met Acties
Voer acties uit voordat je gaat scrapen om te interageren met dynamische sites. Ondersteunde acties:waitmetmillisecondsclickmetselectorfill_inputmetselectorenvaluescrollmetdirectionenamount
wait te gebruiken voor/na andere acties om de pagina de tijd te geven om te laden.
Voorbeeld
markdown_content).
Gebruiksscenario’s
Hieronder staan enkele praktische toepassingen van klanten die het/scrapes endpoint gebruiken.
Inhoudsanalyse & Onderzoek
- Concurrentieanalyse: Haal productdetails, prijzen en functies van concurrentenwebsites
- Marktonderzoek: Analyseer landingspagina’s, productbeschrijvingen en klantgetuigenissen
- Academisch Onderzoek: Verzamel specifieke gegevens van wetenschappelijke publicaties of onderzoeksportalen
- Juridische Documentatie: Haal casestudy’s, regelgeving of juridische precedenten van officiële websites
E-commerce & Detailhandel
- Dynamische Prijsstrategieën: Verkrijg realtime productprijzen van concurrerende winkels
- Productinformatiebeheer: Haal gedetailleerde specificaties en beschrijvingen op
- Voorraad/Inventaris Monitoring: Controleer productbeschikbaarheid bij andere retailers
- Review Analyse: Verzamel consumentenfeedback en sentiment voor specifieke producten
Marketing & Contentcreatie
- Content Curation: Haal relevante artikelen en blogposts op voor nieuwsbrieven
- SEO Analyse: Onderzoek het gebruik van zoekwoorden, metabeschrijvingen en paginavorming van concurrenten
- Leadgeneratie: Haal contactinformatie op uit bedrijvengidsen of bedrijfspagina’s
- Influencer Onderzoek: Verzamel betrokkenheidsstatistieken en contentstijlen van influencerprofielen
- Gepersonaliseerde Social Media generatie: Creëer AI-gestuurde social media marketing door klantenwebsites te analyseren
Data Toepassingen
- AI Trainingsdata Verzameling: Verzamel specifieke voorbeelden voor machine learning modellen
- Op maat gemaakte Kennisbank Bouwen: Haal documentatie of instructies op van software sites
- Historische Data Archieven: Bewaar website-inhoud op specifieke tijdstippen
- Gestructureerde Data Extractie: Transformeer webinhoud in geformatteerde datasets voor analyse
Monitoring & Alerts
- Regelgevingsnaleving Monitoring: Volg wijzigingen op juridische of regelgevende websites
- Crisisbeheer: Monitor nieuwssites voor vermeldingen van specifieke evenementen of organisaties
- Evenement Volgen: Haal details over aankomende evenementen op van locatie- of organisatorenwebsites
- Service Status Monitoring: Controleer servicestatuspagina’s voor specifieke platforms of tools
Publicatie & Media
- Nieuwsaggregatie: Haal breaking news op van officiële bronnen
- Media Monitoring: Volg specifieke onderwerpen op nieuwssites
- Contentverificatie: Haal informatie op om claims of uitspraken te verifiëren
- Multimedia Extractie: Verzamel ingesloten video’s, afbeeldingen of audio voor mediatheken
Financiële Toepassingen
- Beleggingsonderzoek: Haal financiële overzichten of jaarverslagen op van bedrijfswebsites
- Economische Indicatoren: Verzamel economische gegevens van overheids- of financiële instellingenwebsites
- Cryptocurrency Data: Haal realtime prijs- en marktkapitalisatie-informatie op
- Financiële Nieuws Analyse: Monitor financiële nieuwssites voor specifieke marktsignalen
Technische Toepassingen
- API Documentatie Extractie: Verzamel technische documentatie voor referentie
- Integratietesten: Haal website-elementen op om derde-partij integraties te verifiëren
- Toegankelijkheidstesten: Analyseer de structuur van websites voor naleving van toegankelijkheidsnormen
- Webarchief Creatie: Leg volledige website-inhoud vast voor historische bewaring
Integratiescenario’s
- CRM Systemen: Verrijk klantprofielen met gegevens van bedrijfswebsites of Linkedin
- Content Management Systemen: Importeer relevante externe inhoud
- Business Intelligence Tools: Vul interne gegevens aan met externe marktinformatie
- Project Management Software: Haal specificaties of vereisten op van klantwebsites
- Aangepaste Dashboards: Toon geëxtraheerde gegevens naast interne statistieken
Foutafhandeling
Alle fouten volgen een gedeelde envelopvorm. Controleererror.type en error.code om programmatisch te vertakken:
DNS-fout (400)
Het domein lost niet op. Controleer de URL op typfouten.TLS/SSL-fout (502)
De doelwebsite heeft een gebroken of incompatibele HTTPS-configuratie.error.detail geeft de specifieke SSL-foutcode voor diagnostiek; error.code is altijd tls_error.