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.

Terminal window
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

MethodRightWrongEmpty
First price in the text8260
First price after the title15163
Qwen 3.5 9B, local2716
Clairic, number2860
Clairic, text span2950

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.

A terminal window with 2 Clairic answers. For the Jones Road product page, the value is 166 with confidence 0.85 and a 0.0001 probability of no value. For the Bloomberg block page, the value is None with confidence 0.01 and a 0.9994 probability of no value
2 live Clairic answers, October 20, 2026. A wrong price on a product page, and no price on the block page that Bloomberg sent.

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.
Jones Road's product page for The Bobbi Kit 6.0. The add to cart button shows $166 crossed out and $88, with an orange outline around both prices
The price on Jones Road's product page, October 20, 2026. Clairic returned the crossed-out $166.

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

A dot chart of Clairic's confidence for each answer. The 28 right prices are mostly above 0.9. The 6 wrong prices are all below 0.9, between about 0.2 and 0.85
Clairic's confidence for each of its 34 answers with the number field. Every wrong price is to the left of 0.9.

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.

Doccraft writes research and tutorials like this for web data and AI infrastructure companies.