Zet elke URL om in LLM-klaar Markdown, HTML, screenshots, PDF’s of gestructureerde JSON.
Via de Olostep /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
Je kunt de endpoint gebruiken om een enkele URL te scrapen en uitvoerformaten te kiezen. De verplichte parameters zijn url_to_scrape en formats.Enkele andere veelvoorkomende parameters zijn wait_before_scraping (in milliseconden), remove_css_selectors (standaard, geen of een array van selectoren), en country.
De API retourneert een scrape object als reactie.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. Geef formats: ["html"] door om dit te krijgen.
markdown_content: de MD-inhoud van de pagina. Geef formats: ["markdown"] door om dit te krijgen.
text_content: de tekstinhoud van de pagina. Geef formats: ["text"] door om dit te krijgen.
json_content: de JSON-inhoud van de pagina. Geef formats: ["json"] door om dit te krijgen en geef ook een parser of llm_extract parameter.
screenshot_hosted_url: de gehoste URL van de screenshot.
html_hosted_url: de gehoste URL van de HTML-inhoud
markdown_hosted_url: de gehoste URL van de Markdown-inhoud
json_hosted_url: de gehoste URL van de JSON-inhoud
text_hosted_url: de gehoste URL van de tekstinhoud
Wanneer een scrape wordt aangevraagd, controleert Olostep of er al een overeenkomende scrape bestaat met dezelfde parameters. Als er een voldoende verse match wordt gevonden, wordt de inhoud direct vanuit Olostep’s opslag geserveerd zonder een nieuwe browserscrape 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 snelheidsverbetering.
Nabewerking is nog steeds live: Operaties zoals llm_extract en links_on_page filters worden on-the-fly uitgevoerd bovenop het gecachte document. Je cachet alleen de kernpagina-ophaling, waardoor je gestructureerde extracties dynamisch blijven.
Standaard voert de productie-API altijd een live scrape uit om real-time nauwkeurigheid te garanderen. Je kunt kiezen voor caching met de max_age parameter.
Parameter
Type
Standaard
Beschrijving
max_age
integer
0
Acceptabele leeftijd van de inhoud in seconden. Als er een gecachte kopie bestaat die nieuwer is dan max_age seconden, wordt deze uit de cache geserveerd.
Standaard API Gedrag (max_age: 0): Elke API-aanvraag triggert een verse scrape.
Standaard Playground Gedrag: In de dashboard playground is max_age standaard 24 uur (86400 seconden) om dubbele scrapes te voorkomen en credits te besparen terwijl je bouwt en test.
Maximale Leeftijd: De cache heeft een harde limiet van 7 dagen (604800 seconden). Elke max_age die boven deze limiet wordt aangevraagd, valt terug naar een maximum van 7 dagen.
from olostep import Olostepclient = Olostep(api_key="YOUR_REAL_KEY")# Kies voor caching: Accepteer resultaten tot 1 dag (86400 seconden) oudresult = client.scrapes.create( url_to_scrape="https://example.com", formats=["markdown"], max_age=86400)
De cache wordt automatisch omzeild (waardoor een live scrape wordt geforceerd) voor functies die unieke sessies, real-time visuele outputs of aangepaste bestandsafhandeling vereisen:
Interactieve sessies: Aanvragen met session_id of het laden van een aangepaste browser context.
Visuals: Visualisatietools en screenshots (htmlVisualizer).
Speciale bestandstypen: Binaire bestanddownloads of ruwe PDF-weergave.
Debugging & Netwerk: Het vastleggen van network_calls of het gebruik van asynchrone parserjobs.
include_links / exclude_links: glob-patronen die worden gematcht tegen het URL pad van elke link.
query_to_order_links_by: herschikt de geretourneerde links op relevantie voor deze tekst.
Glob-patronen matchen padsegmenten. Een enkele * kruist niet/, dus "/blog/*" matcht "/blog/post-1" maar niet de index "/blog" zelf — en het matcht nooit "/blog?tag=x" omdat querystrings geen onderdeel zijn van het pad. Om de index ook op te nemen, gebruik "/blog*" of "{/blog,/blog/**}".
Olostep heeft een paar vooraf gebouwde parsers voor populaire websites maar je kunt ook je eigen parsers maken via het dashboard of ons team vragen om het voor je te doen.Parsers zijn zelfherstellend en zullen zichzelf updaten naar de nieuwste versie van de website.
Geef llm_extract met een JSON Schema (schema) en/of een natuurlijke taal instructie (prompt). Je kunt beide parameters doorgeven, maar als beide worden gegeven, heeft schema voorrang.Als je in plaats daarvan alleen een prompt doorgeeft, zal de LLM de data extraheren op basis van de prompt en zelf de datastructuur bepalen.
Opmerking: 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 prijsstelling op basis van gebruik inschakelen. Neem contact op met info@olostep.com om toegang te krijgen.
Met de links_on_page optie kun je alle links extraheren die aanwezig zijn op de pagina die je scrapt. Het accepteert de volgende parameters om te helpen bij het filteren en ordenen van de geëxtraheerde links:
absolute_links (boolean, standaard: true): Wanneer true, 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 opgegeven querytekst, 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 *.pdf om bestandsextensies te matchen, /blog/* voor specifieke paden, of volledige URL’s zoals https://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 als include_links.
De doelwebsite heeft een gebroken of incompatibele HTTPS-configuratie. error.detail biedt de specifieke SSL-foutcode voor diagnose; error.code is altijd tls_error.
{ "error": { "type": "invalid_request_error", "code": "tls_error", "detail": "err_ssl_tlsv1_alert_internal_error", "message": "De website sloot of verwierp de TLS-handshake. De server kan verkeerd geconfigureerd zijn of een niet-ondersteunde SSL/TLS-versie gebruiken." }}
De scrape is niet voltooid binnen het wachttijd budget. De pagina kan traag zijn, bot-beschermd, of tijdelijk niet beschikbaar. Deze reactie is veilig om opnieuw te proberen.
{ "error": { "type": "request_timeout", "code": "scrape_poll_timeout", "message": "Aanvraag time-out tijdens het wachten op scrape resultaat. De pagina kan traag zijn, geblokkeerd voor onze fetchers, of tijdelijk niet beschikbaar." }}
Scrape kost standaard 1 credit. Als je ook parsers doorgeeft, variëren de kosten per parser (1-5 credits). Als je LLM extract gebruikt, kost het 10 credits.