Blog
Learn how to scrape the web and create tools with public data.

Retry Logic That Doesn't Make Things Worse
The naive retry loop turns a brief rate limit into a sustained one. Getting backoff right takes about forty lines.

Your Agent Is Searching From a Desktop Nobody Uses
Mobile and desktop return different results for the same query. If your users are on phones, your agent is reading the wrong page.

You Can't Debug an Agent You Can't See
When a research agent returns a bad answer, the bug is almost never in the model. It's in what it searched for and what came back.

Building a Search Toolkit for an Agno Agent
Agno's Toolkit class groups related functions into one unit. Search, news, and page reading belong together — here's how they fit.

A Deal-Hunting Agent That Knows What a Good Price Looks Like
Finding a cheap listing is easy. Knowing whether it's a bargain or a broken unit requires comparing it to the market.

A Travel Planning Agent Grounded in Real Places
Ask a model to plan three days in Lisbon and it will confidently recommend a restaurant that closed in 2019. Maps data fixes that.

Why Your Agent Made 340 Search Calls to Answer One Question
Unbounded tool loops are the default. Budgets, deduplication, and a stopping rule turn an expensive agent into a predictable one.

Going Deeper Than Page One Without Wasting Requests
Most agents read the top three results. When you genuinely need depth, the way you paginate determines whether you get coverage or duplicates.

An SEO Audit Agent That Looks at the Whole SERP
Rank tracking tells you position 4. It doesn't tell you that positions 1 through 3 are below an answer box, a video carousel, and four ads.

Turning Messy SERP Data Into Clean JSON Your Code Can Trust
The gap between a search response and a typed record is where most extraction pipelines quietly break. Schemas plus validation close it.