PINGDOM_CHECK

Field notes from the world of data extraction.

Articles, interviews and analysis on how data is gathered, used and fought over — written by the people closest to it.

An automatic Claude writer device, writing code.
AI-assisted data extraction

Claude Fable 5 is the new best model for writing scrapers

We ran nine models, including the new GPT-5.6, through our Zyte Scraping Code Benchmark. Claude Fable 5 puts Sol and others in the shade - but it’s pricey, and the best extraction code still depends on the best infrastructure.

Konstantin Lopukhin8 min read
gpt5-6-cover
AI

GPT-5.6, Fable 5, and GLM-5.2 entered a bar “crawl” and got hit by The Rate Limit

When OpenAI shipped GPT-5.6 and Anthropic's Fable 5 was sitting at the top of the price list, my question was not "which one wins a leaderboard." It was the one I actually pay for: for the scraping I do, how much model do I need to buy?

Ayan Pahwa16 min read
skills-are-software
Open-source

Treat your AI skills like software, starting with evals

Most AI skills are never tested — and it shows. Here's how Zyte evaluates scraping skills like real software, catching failures demos miss.

Neha Setia Nagpal14 min read
scrapy-ai-skills
Scraping practice

AI generated these Scrapy projects - why I won't ship them

What happens if you let AI create a Scrapy project from just a simple prompt? Here's what I got and what I had to fix.

John Rooney1 min read
Harness Engineering, part 2: harnessing a data extraction agent
Large Language Models (LLMs)

Harness Engineering, part 2: harnessing a data extraction agent

Point it at a website, tell it which fields you want, get back clean structured records. That's the agent we're designing in this post — and the interesting part isn't the model, it's the harness decisions that make it actually reliable at scale.

Ayan Pahwa8 min read
Harness Engineering, part 1: what is an agent harness and why it matters
Large Language Models (LLMs)

Harness Engineering, part 1: what is an agent harness and why it matters

Same model, same weights, zero retraining — LangChain changed nothing but the scaffolding around a coding model and jumped it from 30th place to the top five on a benchmark. That scaffolding has a name: the harness. And it's the part you actually control.

Ayan Pahwa8 min read
The harness matters more than the model - Podcast EP07
AI-assisted data extraction

The harness matters more than the model - Podcast EP07

"The model is the engine — but the harness is everything else." In Episode 7, we dig into why the infrastructure layer around your AI model matters more than the model itself, rank the best models available right now, and ask whether the open-weighted revolution is about to make frontier subscriptions obsolete.

John Rooney11 min read
Zyte's first Developer Community Meetup: the recap, slides, and recording
Announcement

Zyte's first Developer Community Meetup: the recap, slides, and recording

AI agents can now write, run, and self-heal your web scrapers, and in Zyte's first-ever Web Scraping Community Meetup we show you exactly how. Live demos, a Claude Code plugin that turns a prompt into production-ready data, and a fireside chat on where AI is really heading.

Ayan Pahwa3 min read
1 C N T 1225

How to run any model inside Claude Code

I run GLM 5.2 inside Claude Code with the same tools, the same skills, and the same agent loop. Three environment variables is all it takes.

Ayan Pahwa17 min read
C N T 1216 Main
AI

The best agent skill is the one that says the least

More instruction, worse output. Zyte's head of R&D on why telling your agent exactly what to do can blind it to the obvious answer.

Neha Setia Nagpal14 min read
Why I'm adding GLM-5.2 to my agentic coding arsenal
Large Language Models (LLMs)

Why I'm adding GLM-5.2 to my agentic coding arsenal

Ayan Pahwa ran GLM-5.2 against Claude Sonnet 4.6 and Opus 4.8 on real scraping work: parity on extraction, 8.5x cheaper on planning, slower and wordier.

Ayan Pahwa14 min read
How to build your first Scrapy extension
Developer interest

How to build your first Scrapy extension

My Scrapy project now plays a triumphant fanfare when a crawl finishes clean and a sad trombone when it doesn't, which is also how I finally learned what Scrapy's extension points are actually for.

Ayan Pahwa11 min read