Scrape pub pages on chess.com
The call that returns pub pages from chess.com today, with the parameters, patterns and failure modes read off the request log since 14 Aug 2026. Last tested 6 Sep 2026.
About chess.com
chess.com describes itself as “Play chess online for free on Chess.com with over 250 million members from around the world. Have fun playing with friends or challenging the computer!”.
Its home page declares 12 languages: en, es, fr, de, pl, ru, sv, el, pt, it, zh, ja.
Its sitemaps list 815,301 URLs across 19 files.
Its robots.txt names 1 sitemap and disallows 12 paths, among them /en/, /cdn-cgi/, /admin.
Measured on Crawlbase
Success rate over every request from every account in August 2026: 100%. Patterns, countries and failures come from the request log since 14 Aug 2026; 0.0% of successful calls used the JavaScript token and the median answer took 601ms.
Among the 8 gaming sites in the Cookbook, chess.com ranks 1 of 8 by success rate; the category median is 99.9%. Its median answer of 601ms is faster than the category median of 1.8s. 8 of the 8 accept the plain token, this one among them.
The call
The most common shape of URL the accounts fetch, with the country and token that succeed most often. Replace the placeholder path with a real one from the site.
curl "https://api.crawlbase.com/?token=YOUR_TOKEN&url=https%3A%2F%2Fwww.chess.com%2Fpub%2Fexample-section%2Fexample-page"from crawlbase import CrawlingAPI api = CrawlingAPI({'token': 'YOUR_TOKEN'}) r = api.get('https://www.chess.com/pub/example-section/example-page') html = r['body']
const { CrawlingAPI } = require('crawlbase'); const api = new CrawlingAPI({ token: 'YOUR_TOKEN' }); const r = await api.get('https://www.chess.com/pub/example-section/example-page');
Parameters that matter
| Parameter | Set it to | Why |
|---|---|---|
country | leave unset | Most successful calls set no country (0.0%) and succeed at 100%. |
javascript | leave unset | Plain-token calls succeed at 100% and make up 100% of the traffic. A browser costs more and, on this site, buys nothing. |
URL patterns accounts fetch
| Pattern | Share of successes | JavaScript token | Country | Query parameters |
|---|---|---|---|---|
/pub/{slug}/{slug} | 99.8% | 0.0% | NL | none |
Fields you get
Structured data Crawlbase found on chess.com, by page type. These are the schema.org types in the page, the fields your parser can read straight from the JSON-LD block:
- Home:
Organization - Detail page:
Organization, VideoObject, BreadcrumbList - Article:
Organization, NewsArticle, BreadcrumbList - Other:
Organization, BreadcrumbList
What breaks, and the fix
Of the failures since 14 Aug 2026, the site answered:
Run it on a schedule
The median answer on this site is 601ms. Push a URL list to the Crawler with a callback for anything larger than a few thousand pages a day; it paces the calls and retries what the site refuses.
Questions
Do I need a browser to scrape chess.com?
No. 100% of plain-token calls succeed and accounts send 100% of their traffic without a browser.
How much does a chess.com page cost on Crawlbase?
1 credit without a browser. chess.com is in the standard tier.
Which country should I set for chess.com?
None is needed: most successful calls leave it unset.
Other pages on chess.com
Pages chess.com lists in its own sitemaps, fetched by Crawlbase on 6 Sep 2026 and verified in 2 consecutive runs. Each row is the cheapest call that returned the page with its content.
| Page | Example | Token | Country | Median |
|---|---|---|---|---|
Home/Structured data: Organization | chess.com/ | Plain | none | 2.3s |
Detail page/video/{slug}/{slug}Structured data: Organization, VideoObject, BreadcrumbList | chess.com/video/player/pawn-race | Plain | none | 1.3s |
Article/news/{slug}/{slug}Structured data: Organization, NewsArticle, BreadcrumbList | chess.com/news/view/xiong-wins-bullet-brawl-sep-5-2026 | Plain | none | 1.8s |
Other/{slug}/{slug}Structured data: Organization, BreadcrumbList | none | Plain | none | 1.8s |