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

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.

A TypeScript MCP Server for Search, Written Once and Reused Everywhere
One stdio server gives Claude Desktop, Claude Code, and any other MCP client the same set of search tools. Here's the whole thing.