strands-olostep
Olostep tools for Strands Agents — give your agents live web search, scraping, crawling, and cited AI answers.
Installation
pip install strands-olostep
Configuration
Set your Olostep API key as an environment variable. Get one from the Olostep dashboard — the free tier includes 500 credits.
export OLOSTEP_API_KEY="your-api-key"
| Variable | Required | Description |
|---|---|---|
OLOSTEP_API_KEY |
Yes | Your Olostep API key |
OLOSTEP_BASE_URL |
No | Override the API base URL (defaults to https://api.olostep.com/v1) |
Usage
from strands import Agent
from strands_olostep import (
olostep_answers,
olostep_crawl,
olostep_get_crawl_results,
olostep_map,
olostep_scrape,
olostep_search,
)
agent = Agent(
tools=[
olostep_search,
olostep_scrape,
olostep_answers,
olostep_map,
olostep_crawl,
olostep_get_crawl_results,
]
)
agent("Find the three most recent posts on the Olostep blog and summarize each one.")
Import only the tools you need — an agent that just answers questions may only want olostep_answers.
Tools
| Tool | What it does |
|---|---|
olostep_search |
Search the live web; returns deduplicated links with titles and descriptions |
olostep_scrape |
Fetch a single page as clean markdown, HTML, JSON, or text |
olostep_answers |
Ask a question and get an AI-synthesized answer with citations |
olostep_map |
Discover the URLs on a site, optionally ranked by a query |
olostep_crawl |
Start an async crawl that follows links from a start URL |
olostep_get_crawl_results |
Poll a crawl and fetch its page content |
Picking the right tool
- Want a synthesized answer? Use
olostep_answers. It searches, reads, and cross-validates, returning sources with the answer. - Want a list of links to explore? Use
olostep_search, thenolostep_scrapethe ones worth reading. - Know the exact page? Go straight to
olostep_scrape. - Want a whole site or section? Use
olostep_crawl, thenolostep_get_crawl_results. Crawl both discovers and scrapes. - Just want to see what URLs exist? Use
olostep_map— discovery only, no scraping.
Notes
olostep_crawl is asynchronous. It returns a crawl id immediately and the job runs in the background — you must call olostep_get_crawl_results with that id to fetch pages. While the crawl is running, that tool reports progress so the agent knows to call again.
For JavaScript-heavy pages, pass wait_before_scraping (in milliseconds) to olostep_scrape:
olostep_scrape("https://example.com", wait_before_scraping=3000)
For geo-targeted content, pass a two-letter country code:
olostep_scrape("https://example.com", country="GB")
Error handling
Tools return an error result rather than raising, so a failed call doesn't break the agent loop:
{"status": "error", "content": [{"text": "Olostep API Error: 401 ..."}]}
A missing OLOSTEP_API_KEY produces a clear message pointing at the dashboard.
Development
pip install -e ".[dev]"
hatch run prepare # format, lint, typecheck, test
Links
License
Apache 2.0 — see LICENSE.
Metadata
Release files for strands-olostep 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| strands_olostep-0.1.0.tar.gz | 12.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| strands_olostep-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.1 kB
Release files / strands_olostep-0.1.0.tar.gz
| Download URL | strands_olostep-0.1.0.tar.gz |
|---|---|
| Size | 12.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d01609a0fa24a91103192964483b38b896607c06fbbfb6883474afa3196ecfa9
|
|
BLAKE2b-256 checksum How to use checksums |
1a8c1b9e74aacfff1996a34dfd212419c6316228d290e13aaf22ad0aef335c34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / strands_olostep-0.1.0-py3-none-any.whl
| Download URL | strands_olostep-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3514e94b478e0a051f700d1435ab37e83c90f65c6f14d4754a9417917d873d12
|
|
BLAKE2b-256 checksum How to use checksums |
878aa90331a7bc22ce7f08c6f5114a9fe137b58e70551fd780d42c4870fb0069
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|