For Agents
Scrape a URL to markdown or JSON, crawl or map a whole site, batch many URLs, search the web, get structured answers, and monitor pages for changes.
Use for: Scrape this product page and return it as markdown, Crawl the docs site up to 200 pages and give me every page, Find all URLs on a domain that mention pricing, Search the web for recent articles on a topic, limited to two domains
Not supported: Does not host websites, register domains, or run browser test suites. Use for scraping, crawling, searching, and monitoring web content only.
The Olostep API scrapes, crawls, and maps websites and returns their content as markdown, HTML, text, JSON, raw PDF, or screenshots. A single scrape can wait before loading, run page actions, strip CSS selectors or images, use a named parser, and route through a chosen country, while batches process many URLs at once and crawls follow a site from a start_url within max_pages and max_depth limits. It also runs natural-language web searches, answers a task against the web in a requested json_format, and keeps monitors that rerun on a schedule and record change events. Schedules, JSON file uploads, and credit balance routes round out the surface.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Olostep API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Folostep.com%2Folostep" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Folostep.com%2Folostep" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Olostep API.
Scrape a url_to_scrape into markdown, html, text, json, raw_pdf, or screenshot formats, with page actions, a parser, and a scrape country
Crawl a site from a start_url with include_urls, exclude_urls, max_pages, max_depth, and follow_robots_txt, then page through the crawled pages
Map every URL on a site and narrow it with search_query and top_n
Submit a batch of items with custom_id and url and list processed items by status with a cursor
Run a natural-language web search with include_domains and exclude_domains, or ask a task and get an answer shaped by json_format
Create a monitor from a natural-language query and frequency, notify by email, Slack, or SMS on changed events, and read its change events
Schedule a recurring or one-time call to an Olostep endpoint with a cron_expression or execute_at time
Patterns agents use Olostep API for, with concrete tasks.
★ Web reading for an AI agent
An agent that answers questions from live web pages needs clean text, not raw HTML. Through Jentic it searches for 'scrape a web page to markdown', loads the Olostep create-scrape operation, and calls it with url_to_scrape and formats set to markdown, with the bearer key attached at call time. The agent gets page content it can quote, and can switch to a json format or a screenshot when the page needs it.
Call POST /v1/scrapes with url_to_scrape 'https://example.com/pricing', formats ['markdown'], and country 'US', then summarise the plans listed on the page
Whole-site crawl for a knowledge base
To load a documentation site into a retrieval index, POST /v1/crawls starts from a start_url and follows links within include_urls and exclude_urls patterns, max_pages, and max_depth, honouring follow_robots_txt when set. GET /v1/crawls/{crawlId} reports progress, and GET /v1/crawls/{crawlId}/pages pages through results with a cursor and the requested formats.
POST /v1/crawls with start_url 'https://docs.example.com', max_pages 200, and max_depth 3, poll GET /v1/crawls/{crawlId} until it finishes, then page GET /v1/crawls/{crawlId}/pages with formats 'markdown'
Change monitoring with alerts
A team tracking competitor pricing or policy pages sets up a monitor described in plain language with a natural-language frequency such as every day at 9am, which the spec bounds to a minimum interval of 10 minutes. The notification block sends changed or first_snapshot events to email, Slack, or SMS channels, and GET /v1/monitors/{monitorId}/events lists the recorded changes. Monitors can be paused and resumed without deleting them.
POST /v1/monitors with query 'pricing on https://competitor.example.com/pricing', frequency 'every day at 9am', and a notification channel of type 'slack', then read GET /v1/monitors/{monitorId}/events
Bulk URL extraction
A data job with a list of product or listing URLs submits them as one batch to POST /v1/batches, each item carrying a url and an optional custom_id, with an optional parser and webhook. GET /v1/batches/{batchId} shows progress, and GET /v1/batches/{batchId}/items lists processed items filtered by status, with a retrieve_id that GET /v1/retrieve turns into the stored content.
POST /v1/batches with items listing each url and custom_id, poll GET /v1/batches/{batchId}, then page GET /v1/batches/{batchId}/items with status 'completed'
39 endpoints — the olostep api scrapes, crawls, and maps websites and returns their content as markdown, html, text, json, raw pdf, or screenshots.
METHOD
PATH
DESCRIPTION
/v1/scrapes
Scrape a URL
/v1/crawls
Start a site crawl
/v1/crawls/{crawlId}/pages
List crawled pages
/v1/maps
Map URLs across a site
/v1/batches
Start a batch of URLs
/v1/searches
Run a web search
/v1/answers
Get a structured answer
/v1/monitors
Create a change monitor
/v1/scrapes
Scrape a URL
/v1/crawls
Start a site crawl
/v1/crawls/{crawlId}/pages
List crawled pages
/v1/maps
Map URLs across a site
/v1/batches
Start a batch of URLs
/v1/searches
Run a web search
/v1/answers
Get a structured answer
/v1/monitors
Create a change monitor
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>What agents get from Jentic-routed access to this vendor.
Setup
Wiring Olostep by hand means sending a bearer key, polling async crawls, batches, and answers by id, following cursors, and tracking credits. Through Jentic you install once, import Olostep from the API Directory, store the key once, and your agent calls it.
Permission scoping
Olostep puts resource ids in the URL path, such as /v1/monitors/{monitorId} and /v1/batches/{batchId}, so a rule can pin your agent to one monitor or batch and the operations you pick. You choose the operations, so destructive or spending ones like deleting a monitor, deleting a file, or purchasing a credit top-up are not included unless you add them.
Credential isolation
Your Olostep API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'scrape a web page to markdown' or 'monitor a page for changes', and Jentic returns the matching Olostep operation with its input schema, including fields like url_to_scrape and formats, so the agent calls it correctly.
Alternatives and complements available in the Jentic catalogue.
Specific to using Olostep API through Jentic.
What authentication does the Olostep API use?
Per its OpenAPI spec, every Olostep operation uses HTTP bearer authentication: send your Olostep API key as Authorization: Bearer followed by the key. The spec notes that access tokens issued for the Olostep dashboard are also accepted. Through Jentic the key is stored by your own instance and attached at call time, so the agent never handles it.
Which output formats can an Olostep scrape return?
POST /v1/scrapes takes a formats array with values markdown, html, text, json, raw_pdf, and screenshot, defaulting to markdown. The same request can set wait_before_scraping, page actions, remove_css_selectors, remove_images, a parser, and a two-letter country to scrape from.
What are the rate limits for the Olostep API?
The OpenAPI spec does not specify request rate limits. Usage draws on your team's credits, which GET /user/credits/info reports. Check the Olostep documentation at https://docs.olostep.com for current limits.
Is there an Olostep MCP server?
You don't need an MCP server to give your agent Olostep. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the scrape, crawl, and search operations it needs on demand without loading another server's tool definitions into its context.
How do I crawl a website through Jentic?
Search Jentic for 'crawl a website', load the Olostep create-crawl operation, and execute it with a start_url plus limits such as max_pages and max_depth. Poll the crawl by its id, then list its pages with a cursor. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Can Olostep tell me when a web page changes?
Yes. POST /v1/monitors takes a natural-language query and frequency, with a minimum interval of 10 minutes, plus an optional source_policy, output_schema, webhook, and notification channels of type email, slack, or sms for changed and first_snapshot events. GET /v1/monitors/{monitorId}/events lists the change events, and the pause and resume routes stop and restart it.
Can I limit what my agent is allowed to do with the Olostep API?
Yes. Write a rule that allows only GET /v1/monitors/{monitorId} and GET /v1/monitors/{monitorId}/events for one monitor id, plus POST /v1/scrapes, and the agent can scrape pages and read that monitor's changes but cannot delete monitors, buy credits, or create schedules, and every call it makes is logged.
GET STARTED