Scelto dalle migliori startup al mondo
Un'unica API per automatizzare i dati web
Cerchi, estragga, strutturi e monitori l'intero web con un'unica
API. Affidabile, conveniente, scalabile. Gestisce miliardi di richieste
Pensato per gli sviluppatori
API orientata agli oggetti, client SDK nativi per Python e NodeJS,
supporto ai metadati, eventi webhook, facile da provare e da scalare
Ottenga dati puliti da qualsiasi URL
1# pip install olostep
2from olostep import Olostep
3
4client = Olostep(api_key="YOUR_REAL_KEY")
5
6result = client.scrapes.create(
7 url_to_scrape="https://en.wikipedia.org/wiki/Alexander_the_Great",
8 formats=["markdown", "html"],
9)
10
11print(result.markdown_content)
12print(result.html_content)
1// npm i olostep
2import Olostep from 'olostep'
3
4const client = new Olostep({ apiKey: 'YOUR_REAL_KEY' })
5
6const result = await client.scrapes.create({
7 url: 'https://en.wikipedia.org/wiki/Alexander_the_Great',
8 formats: ['markdown', 'html'],
9})
10
11console.log(result.markdown_content)
12console.log(result.html_content)
1curl -s -X POST "https://api.olostep.com/v1/scrapes" \
2 -H "Authorization: Bearer <YOUR_API_KEY>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
6 "formats": ["markdown", "html"]
7 }'
Esegua il crawling di tutte le sottopagine
1# pip install olostep
2from olostep import Olostep
3
4client = Olostep(api_key="YOUR_REAL_KEY")
5
6crawl = client.crawls.create(
7 start_url="https://olostep.com",
8 max_pages=100,
9 include_urls=["/**"],
10 exclude_urls=["/collections/**"],
11 include_external=False,
12)
13
14print(crawl.id, crawl.status)
15
16# Wait for completion and iterate pages
17for page in crawl.pages():
18 print(page.url)
19 content = page.retrieve(["markdown"])
20 print(content.markdown_content[:200])
1// npm i olostep
2import Olostep from 'olostep'
3
4const client = new Olostep({ apiKey: 'YOUR_REAL_KEY' })
5
6const crawl = await client.crawls.create({
7 url: 'https://olostep.com',
8 maxPages: 100,
9 includeUrls: ['/**'],
10 excludeUrls: ['/collections/**'],
11 includeExternal: false,
12})
13
14console.log(crawl.id, crawl.status)
15
16// Wait for completion and iterate pages
17for await (const page of crawl.pages()) {
18 console.log(page.url)
19 const content = await client.retrieve({ retrieveId: page.retrieve_id, formats: ['markdown'] })
20 console.log(content.markdown_content.slice(0, 200))
21}
1# Start crawl
2curl -s -X POST "https://api.olostep.com/v1/crawls" \
3 -H "Authorization: Bearer <YOUR_API_KEY>" \
4 -H "Content-Type: application/json" \
5 -d '{
6 "start_url": "https://olostep.com",
7 "max_pages": 100,
8 "include_urls": ["/**"],
9 "exclude_urls": ["/collections/**"],
10 "include_external": false
11 }'
12
13# Check status (replace <CRAWL_ID>)
14curl -s "https://api.olostep.com/v1/crawls/<CRAWL_ID>" \
15 -H "Authorization: Bearer <YOUR_API_KEY>"
16
17# Get pages (replace <CRAWL_ID>)
18curl -s "https://api.olostep.com/v1/crawls/<CRAWL_ID>/pages" \
19 -H "Authorization: Bearer <YOUR_API_KEY>"
20
21# Retrieve content (replace <RETRIEVE_ID>)
22curl -s -G "https://api.olostep.com/v1/retrieve" \
23 -H "Authorization: Bearer <YOUR_API_KEY>" \
24 --data-urlencode "retrieve_id=<RETRIEVE_ID>" \
25 --data-urlencode "formats=markdown"
Ottenga tutti gli URL di un sito web
1# pip install olostep
2from olostep import Olostep
3
4client = Olostep(api_key="YOUR_REAL_KEY")
5
6sitemap = client.maps.create(
7 url="https://docs.olostep.com",
8 include_urls=["/features/**"],
9 top_n=100,
10)
11
12print(f"Map ID: {sitemap.id}")
13
14# Iterate all URLs (handles pagination automatically)
15for url in sitemap.urls():
16 print(url)
1// npm i olostep
2import Olostep from 'olostep'
3
4const client = new Olostep({ apiKey: 'YOUR_REAL_KEY' })
5
6const map = await client.maps.create({
7 url: 'https://docs.olostep.com',
8 includeUrls: ['/features/**'],
9 topN: 100,
10})
11
12console.log(`Map ID: ${map.id}`)
13
14// Iterate all URLs (handles pagination automatically)
15for await (const url of map.urls()) {
16 console.log(url)
17}
1curl -s -X POST "https://api.olostep.com/v1/maps" \
2 -H "Authorization: Bearer <YOUR_API_KEY>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "url": "https://docs.olostep.com",
6 "include_urls": ["/features/**"],
7 "top_n": 100
8 }'
Elabori fino a 10.000 URL in un solo batch. Risultati in 5-8 minuti
1# pip install olostep
2from olostep import Olostep
3
4client = Olostep(api_key="YOUR_REAL_KEY")
5
6batch = client.batches.create(
7 urls=[
8 {"custom_id": "item-1", "url": "https://www.google.com/search?q=stripe&gl=us&hl=en"},
9 {"custom_id": "item-2", "url": "https://www.google.com/search?q=paddle&gl=us&hl=en"},
10 ],
11 parser="@olostep/google-search",
12)
13
14print(batch.id, batch.status)
15
16# Wait and iterate results (auto-waits for completion)
17for item in batch.items():
18 content = item.retrieve(["json"])
19 print(item.url, item.custom_id)
20 print(content.json_content)
1// npm i olostep
2import Olostep from 'olostep'
3
4const client = new Olostep({ apiKey: 'YOUR_REAL_KEY' })
5
6const batch = await client.batches.create([
7 { url: 'https://www.google.com/search?q=stripe&gl=us&hl=en', customId: 'item-1' },
8 { url: 'https://www.google.com/search?q=paddle&gl=us&hl=en', customId: 'item-2' },
9], {
10 parser: '@olostep/google-search',
11})
12
13console.log(batch.id, batch.total_urls)
14
15// Wait and iterate results (auto-waits for completion)
16for await (const item of batch.items()) {
17 const content = await item.retrieve(['json'])
18 console.log(item.url, item.custom_id)
19 console.log(content.json_content)
20}
1curl -s -X POST "https://api.olostep.com/v1/batches" \
2 -H "Authorization: Bearer <YOUR_API_KEY>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "items": [
6 {"custom_id": "item-1", "url": "https://www.google.com/search?q=stripe&gl=us&hl=en"},
7 {"custom_id": "item-2", "url": "https://www.google.com/search?q=paddle&gl=us&hl=en"}
8 ],
9 "parser": {"id": "@olostep/google-search"}
10 }'
Cerchi sul web in modo semantico
1# pip install olostep
2from olostep import Olostep
3
4client = Olostep(api_key="YOUR_REAL_KEY")
5
6search = client.searches.create("Latest updates with SpaceX")
7
8print(search.id, len(search.links))
1// npm i olostep
2import Olostep from 'olostep'
3
4const client = new Olostep({ apiKey: 'YOUR_REAL_KEY' })
5
6const search = await client.searches.create('Latest updates with SpaceX')
7
8console.log(search.id, search.links.length)
1curl -s -X POST "https://api.olostep.com/v1/searches" \
2 -H "Authorization: Bearer <YOUR_API_KEY>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "query": "Latest updates with SpaceX"
6 }'
Ottenga risposte dal web
1# pip install olostep
2from olostep import Olostep
3
4client = Olostep(api_key="YOUR_REAL_KEY")
5
6answer = client.answers.create(
7 task="What does Olostep do and what is its core offering?",
8 json_format={"company": "", "what_it_does": "", "core_offering": ""},
9)
10
11print(answer.json_content)
12print(answer.sources)
1// npm i olostep
2import Olostep from 'olostep'
3
4const client = new Olostep({ apiKey: 'YOUR_REAL_KEY' })
5
6const answer = await client.answers.create({
7 task: 'What does Olostep do and what is its core offering?',
8 jsonFormat: { company: '', what_it_does: '', core_offering: '' },
9})
10
11console.log(answer.json_content)
12console.log(answer.sources)
1curl -s -X POST "https://api.olostep.com/v1/answers" \
2 -H "Authorization: Bearer <YOUR_API_KEY>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "task": "What does Olostep do and what is its core offering?",
6 "json": {"company": "", "what_it_does": "", "core_offering": ""}
7 }'
Monitori le pagine secondo una pianificazione e riceva avvisi sulle modifiche
1import requests
2import json
3
4API_KEY = "<YOUR_API_KEY>"
5API_URL = "https://api.olostep.com/v1"
6
7# Create a monitor
8payload = {
9 "query": "Alert me when Tesla stock price is above $500",
10 "frequency": "every hour",
11 "email": "alerts@example.com"
12}
13
14headers = {
15 "Authorization": f"Bearer {API_KEY}",
16 "Content-Type": "application/json"
17}
18
19response = requests.post(f"{API_URL}/monitors", headers=headers, json=payload)
20monitor = response.json()
21monitor_id = monitor['id']
22
23print(f"Monitor created: {monitor_id}")
24print(f"Status: {monitor['status']}")
25
26# List all monitors
27monitors = requests.get(f"{API_URL}/monitors", headers=headers).json()
28for m in monitors['monitors']:
29 print(f"{m['id']}: {m['url']} ({m['frequency']})")
30
31# Get monitor details
32details = requests.get(f"{API_URL}/monitors/{monitor_id}", headers=headers).json()
33print(json.dumps(details, indent=2))
34
35# Delete a monitor
36requests.delete(f"{API_URL}/monitors/{monitor_id}", headers=headers)
37print(f"Monitor {monitor_id} deleted")
1const API_URL = 'https://api.olostep.com/v1'
2const headers = {
3 'Authorization': 'Bearer <YOUR_API_KEY>',
4 'Content-Type': 'application/json'
5}
6
7// Create a monitor
8const res = await fetch(`${API_URL}/monitors`, {
9 method: 'POST',
10 headers,
11 body: JSON.stringify({
12 query: 'Alert me when Tesla stock price is above $500',
13 frequency: 'every hour',
14 email: 'alerts@example.com'
15 })
16})
17
18const monitor = await res.json()
19console.log(`Monitor created: ${monitor.id}`)
20console.log(`Status: ${monitor.status}`)
21
22// List all monitors
23const monitors = await fetch(`${API_URL}/monitors`, { headers }).then(r => r.json())
24monitors.monitors.forEach(m => console.log(`${m.id}: ${m.url} (${m.frequency})`))
25
26// Get monitor details
27const details = await fetch(`${API_URL}/monitors/${monitor.id}`, { headers }).then(r => r.json())
28console.log(details)
29
30// Delete a monitor
31await fetch(`${API_URL}/monitors/${monitor.id}`, { method: 'DELETE', headers })
32console.log(`Monitor ${monitor.id} deleted`)
1# Create a monitor
2curl -s -X POST "https://api.olostep.com/v1/monitors" \
3 -H "Authorization: Bearer <YOUR_API_KEY>" \
4 -H "Content-Type: application/json" \
5 -d '{
6 "query": "Track changes in product pricing and stock information",
7 "url": "https://example.com/products/widget-pro",
8 "frequency": "daily",
9 "email": "alerts@example.com"
10 }'
11
12# List all monitors
13curl -s "https://api.olostep.com/v1/monitors" \
14 -H "Authorization: Bearer <YOUR_API_KEY>"
15
16# Get monitor details (replace <MONITOR_ID>)
17curl -s "https://api.olostep.com/v1/monitors/<MONITOR_ID>" \
18 -H "Authorization: Bearer <YOUR_API_KEY>"
19
20# Delete a monitor (replace <MONITOR_ID>)
21curl -s -X DELETE "https://api.olostep.com/v1/monitors/<MONITOR_ID>" \
22 -H "Authorization: Bearer <YOUR_API_KEY>"
-
/scrapes
Trasformi qualsiasi URL in Markdown pronto per gli LLM, HTML, screenshot, PDF o JSON strutturato. Gestisca pagine renderizzate in JS, azioni e workflow di estrazione senza mantenere browser, proxy o scraper fragili.
-
/crawls
Esegua il crawling di siti web su larga scala, raccolga i contenuti delle sottopagine, controlli profondità e pattern degli URL e ottenga HTML o Markdown puliti per indicizzazione, arricchimento, RAG e workflow di IA.
-
/maps
Scopra tutti gli URL di un sito web tramite sitemap e link nelle pagine. Filtri per pattern di percorso, suddivida in pagine i risultati più voluminosi e prepari elenchi di URL puliti per SEO, crawl e batch.
-
/batches
Elabori fino a 10.000 URL simultanei in un solo batch in 5-8 minuti per ottenere dati web puliti e aggregare contenuti. Esegua molti batch in parallelo per scalare fino a milioni di richieste simultanee.
-
/searches
Ponga domande in linguaggio naturale e ottenga risposte generate dall'IA basate su fonti web. Riceva dati convalidati nella struttura JSON desiderata, con NOT_FOUND quando i fatti non possono essere verificati.
-
/answers
Crei monitor web pianificati a partire da istruzioni in linguaggio naturale. Segua le modifiche su una singola pagina o in tutto il web, estragga informazioni strutturate e riceva notifiche via email, webhook o SMS.
-
/monitors
Trasformi l'estrazione ricorrente dai siti web in JSON strutturato, veloce ed economico. Utilizzi parser predefiniti o crei parser personalizzati per pipeline di dati deterministiche. Da usare insieme a scrape, crawl e batch.
Dati su misura per il suo settore
Scopra come Olostep alimenta piattaforme di IA, arricchimento dei lead commerciali, ricerca approfondita, competitive intelligence e team SEO con un'unica API.
Prezzi sensati
L'API di dati web più conveniente sul mercato
-
Iniziare gratuitamenteNessuna carta di credito richiesta
Prova gratuita
$0Include:- 500 richieste riuscite
- Tutte le richieste con rendering JS + indirizzi IP residenziali
- Rate limit ridotti
-
Acquistare oraCOST/1K $1.800
Starter
$9/ meseTutto ciò che è incluso nel piano Free, più:- 5.000 richieste riuscite
- 150 richieste simultanee
-
Acquistare oraCOST/1K $0.495
Standard
$99/ meseTutto ciò che è incluso nel piano Starter, più:- 200.000 richieste riuscite
- 500 richieste simultanee
-
Acquistare oraCOST/1K $0.399
Scale
$399/ meseTutto ciò che è incluso nel piano Standard, più:- 1 milione di richieste riuscite
- Automazioni del browser basate sull'IA
Ricariche
Ha un utilizzo discontinuo o preferisce evitare gli abbonamenti?
Può acquistare pacchetti di crediti, validi per 6 mesi.
10k crediti
250k crediti
2M crediti
Enterprise
Scelto da team straordinari che stanno creando il futuro dell'IA
-
Michelle JuliaCo-founder & CEO AuriumOlostep è il migliore!!! Abbiamo automatizzato intere pipeline di dati con un semplice prompt
-
Richard HeCo-founder & CEO OpenmartOlostep è diventato l'infrastruttura di riferimento per il livello web della nostra azienda
-
Max Brodeur-UrbasCo-founder & CEO GumloopOlostep funziona alla perfezione! E il vostro servizio clienti è eccezionale
-
Rob HayesCo-founder MerchkitOlostep ci permette di trasformare qualsiasi sito web in un'API. Ottimo prodotto, persone fantastiche
-
Brandon CohenCo-founder & CTO CivilGridConsiglio vivamente Olostep, ottimo prodotto!
-
Co-founder & CEO Gedd.itVerifichiamo codici coupon su larga scala. Adoriamo Olostep. Funziona su qualsiasi e-commerce
-
Trevor WestCo-founder & CEO PodqiOlostep è la migliore API per cercare, estrarre e strutturare dati dal web. Siamo felici di essere clienti
-
Rida NaveedCo-founder ZecentoUsiamo /batches insieme ai parser ed è magico come riusciamo a ottenere dati strutturati su larga scala
-
Kieran V.Growth PlotsEventsOlostep ci ha permesso di cercare e strutturare dati sugli eventi in tutto il web
-
Paul MitFounder FoundbaseAPI affidabile e conveniente per lavorare con i dati. Complimenti per l'ottimo prodotto
Colleghi Olostep al suo stack di IA
Integrazioni ufficiali di Olostep. Aggiunga web scraping,
crawling e ricerca basata sull'IA a qualsiasi strumento del suo stack.
-
Si colleghi ai suoi agenti IA
Una pipeline deterministica, ripetibile e controllabile che automatizza qualsiasi workflow e pipeline di ricerca sul web esattamente come lei l'ha descritta.






-
Utilizzi la CLI di Olostep
Mappi, estragga, esegua il crawling, elabori in batch e generi risposte direttamente dal terminale, con un output JSON pulito pensato per script, pipeline CI e agenti IA.
npx -y olostep-cli@latest --help -
Aggiunga Olostep al suo client MCP
Funziona con qualsiasi prodotto che implementi il Model Context Protocol: registri Olostep una sola volta e utilizzi gli strumenti web da chat, agenti o IDE che supportano MCP.
{
"mcpServers": {
"olostep-web": {
"command": "npx",
"args": ["-y", "olostep-mcp"],
"env": {
"OLOSTEP_API_KEY": "YOUR_API_KEY"
}
}
}
}
Pronto a iniziare?
Ottenga dati puliti per la sua IA da qualsiasi sito web con Olostep
L'API più conveniente. Progettata per scalare


































