Cloudflare's Clairic got 28 of 34 product prices right, and every wrong one scored below 0.9 confidence
On October 19, 2026, Cloudflare released a preview of Clairic, a new kind of model for extracting data. It doesn’t write text like an LLM. It reads the input once and returns typed values, like a number, a date or a span of the input, each with a confidence score. It also returns the probability that the value isn’t in the input at all.
Extracting a price from a product page is a job where those features should help. So I gave Clairic the same kind of test as my October 16 price test, on 34 product pages and 13 block pages.
Clairic returned the right price for 28 of the 34 product pages, more than any other method I tested. Every one of its wrong prices had a confidence below 0.9. On the block pages, it returned no price, with a probability above 0.99 that there was none.
The test
I ran everything from Mumbai on October 20, 2026.
- Product pages. One product page from each of 34 stores, the same stores as my Browser Use test. I fetched each page once with a plain HTTP client. The ground truth is the price in the page’s JSON-LD, which also appears in the visible text.
- The hard case. Before extraction, I removed the JSON-LD, the microdata and the product meta tags, as on October 16. Each method got only the visible text of the page.
- Block pages. 13 pages that sites sent a plain client instead of their homepage, like Cloudflare’s “Just a moment” page, Akamai’s “Access Denied” page and an “Are you a robot?” page on Bloomberg. The right answer on these is no price.
- Methods. 2 rules from October 16, the first price in the text and the first price after the page’s
h1. Qwen 3.5 9B running locally in Ollama, at temperature 0. And Clairic, through the Workers AI REST API, with the price asked for in 2 ways.
This is the request I sent to Clairic for each page. The second way used "type": "text", which returns the exact span of the input instead of a number.
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/cloudflare/clairic \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --data '{ "model": "clairic", "state": "<the visible text of the page>", "fields": { "price": { "type": "number", "decimals": 2, "instructions": "The current price of the main product on this page, in the currency the page shows" } } }'Results
| Method | Right | Wrong | Empty |
|---|---|---|---|
| First price in the text | 8 | 26 | 0 |
| First price after the title | 15 | 16 | 3 |
| Qwen 3.5 9B, local | 27 | 1 | 6 |
| Clairic, number | 28 | 6 | 0 |
| Clairic, text span | 29 | 5 | 0 |
On the 13 block pages, no method returned a price. Clairic’s probability that the page had no price was above 0.99 on every one of them.

Clairic’s wrong prices fell into 2 groups.
- Numbers that aren’t on the page. 4 of the 6 wrong answers from the number field don’t appear anywhere in the page text. Clairic returned 50.6 for a $50 product, 34.9 for $34, 152 for $150 and 1.4 for $9.80. The number type can compute a value instead of copying it, and here it computed a wrong one.
- The old price instead of the current one. On 2 pages, both ways of asking returned the crossed-out price. On Jones Road, the page shows $166 crossed out and $88 as the price. Clairic returned 166. On Outerknown, it returned the $78 “compare” price instead of the $75 price.

All 34 text span answers appeared word for word in the page text, because Clairic copies them from the input. Some spans held 2 prices, like “$25 $20” on Glossier, so the span still needs a check before you use the number.
The confidence score is the useful part

With the number field, 23 answers had a confidence of 0.9 or more, and all 23 were right. The 11 answers below 0.9 held all 6 wrong prices and 5 right ones.
With the text field, confidence was lower overall. At 0.8 or more, 15 answers were all right.
So a pipeline can accept the high-confidence answers and send the rest for a second check. In this test, that meant 2 of every 3 prices with no check, and no wrong price accepted. A threshold set on 34 pages is only a starting point. Set your own on your own pages.
Speed and cost
Each request took a median of 0.7 seconds with the number field and 0.5 seconds with the text field. The median page sent about 3,300 input tokens. Clairic doesn’t charge for output, and its preview price is $0.10 per million input tokens. All 34 product pages cost about $0.015, which is about $0.45 per 1,000 pages.
Qwen 3.5 9B ran on my own Mac, so it cost nothing per page. But it returned no price on 6 product pages, and its one wrong price was the higher of 2 prices shown together on a gift set, $252 next to $150.
What production teams can do with this
- Read JSON-LD first. When a page has structured data, it’s still the most reliable source. Every one of these 34 pages had it before I removed it.
- Use Clairic’s confidence score. In this test, accepting answers at 0.9 or more with the number field let no wrong price through.
- Check that the number is on the page. That one check catches the computed values, like 50.6 for $50. The text field avoids them, but its spans need a check too.
- Watch for crossed-out prices. Both Clairic fields returned the old price on 2 pages. A rule that compares the answer with a sale price or a “compare” price catches these.
- Remember it’s a preview. Cloudflare calls this endpoint an early checkpoint and plans to release the model with open weights. Results may change. I tested prices only, not Clairic’s estimates or forecasts.
If you want the pages, the results or the scripts, email me and I’ll share them.