So my reading of this is if I write a script to go thru my games and download the PGN for each, for example, that's in violation.
Sure, I could decide I want to generate PGN for all games played by any player for the previous month. That would be abuse of resources. But if I was going to just download my own games from the last month?
🤔 Should Chess.com Have a Clearer Process for Approving Automation?
So my reading of this is if I write a script to go thru my games and download the PGN for each, for example, that's in violation.
Sure, I could decide I want to generate PGN for all games played by any player for the previous month. That would be abuse of resources. But if I was going to just download my own games from the last month?
Using a script on the UI to accomplish that would likely get flagged. Using the Public API player archive endpoints, with appropriate graders (user agent and contact information) to serially get the data is allowed.
So my reading of this is if I write a script to go thru my games and download the PGN for each, for example, that's in violation.
Sure, I could decide I want to generate PGN for all games played by any player for the previous month. That would be abuse of resources. But if I was going to just download my own games from the last month?
Using a script on the UI to accomplish that would likely get flagged. Using the Public API player archive endpoints, with appropriate graders (user agent and contact information) to serially get the data is allowed.
"But if I was going to just download my own games from the last month?"
I would think that this is a case where you should be able to request written permission. It seems totally reasonable.
@Martin_Stahl — I appreciate your detailed replies, quick responses, and your involvement as both an admin and moderator for this club..
That said, with respect, the core issue isn’t just what gets flagged—it’s that there’s no clear approval process or published list of allowable cases for small-scale automation.
A system similar to what exists for second accounts (with examples and a request form) would really help. Many of us—club organizers, researchers, hobby developers—are just trying to automate modest, responsible tasks, such as:
-
Automating tournament creation for club events with consistent formats
-
Downloading PGNs for analysis
-
Syncing games to a personal database or training log
-
Tracking club member activity to invite players to appropriate tournaments
-
Aggregating club stats for tournament announcements and club forum posts
-
Collecting publicly available stats for content or community dashboards
These are quality-of-life tools for engaged members trying to add value.
Maybe our community could help draft an initial list of acceptable use cases that Chess.com could consider giving written permission for on a case-by-case basis—especially since Chess.com Support has asked our Chess.com Developer Community Club to provide input on this topic.
I can't say something like that won't happen but alt accounts are something that's a pretty high demand, takings a lot of staff resources yo administer. That's likely why the form was created.
Members using tools to automate content creation is very likely much less used and less likely to receive additional resources yo build a form/tool to address
"Automating the login process"! "Using any automated means!"
So agreeing to the Developer Agreement implies that in order to licitly store your credentials in your browser, you have to get explicit written permission from chess.com?
I'm having a hard time finding the Developer Agreement. Does anyone have the link? I'd like to see the whole thing again, because this excerpt on its own reads as extremely overbroad in various ways, not just this particular absurd example.
Also, I hereby request explicit written permission from chess.com to store my login credentials in my browser ![]()
I had a very detailed discussion with Chess.com tech support about this. Their stance was that it's not a blanket violation—but they strongly recommend requesting approval if you're planning to use automation. It's always best to reach out and get explicit permission, especially if your project might put any load on their servers or access sensitive data.
Does requesting automation include things like web scraping, and if so, could we get around the current issue of peaks not displaying incorrectly or match results being off in the api once approved to scrape?
Does requesting automation include things like web scraping, and if so, could we get around the current issue of peaks not displaying incorrectly or match results being off in the api once approved to scrape?
In certain cases, with advanced permission — and as long as you're not violating privacy, a bot, or excessively scraping data — limited automation like web scraping may be allowed. It's required to request explicit approval, especially if you're trying to work around issues like missing peaks or incorrect match results in the API.
Hi fellow Chess.com Developers,
I wanted to ask the community: Do you think Chess.com needs a more formal and transparent process for approving automation tools like Selenium in scripts?
🔍 Current Automation Policy (verbatim from the Developer Agreement):
In practice, though, there doesn’t seem to be a formal process to request this permission. When people reach out to Support, they often get responses like “we'll pass this to the team” or “we're not sure” — but no definitive approval or guidance.
⚖️ Compare that to the Second Account Policy:
There’s even a standard form built into the support chat for second account requests.
💡 Suggestion:
Chess.com could really benefit from a similar formal approval system for automation, including:
A request form (like second accounts have)
A list of clearly permitted automation types (e.g. club tournament creation, stat collection via API, player invites, auto-posting forum updates)
Defined limits and review guidelines
It seems that Chess.com really respects our group's input, so I think we could also collaboratively suggest a list of automation use cases we believe are appropriate and non-abusive — especially where it helps clubs operate better without negatively impacting the site or other users.
Customer Support is even asking for our opinion on this, so this could be a good chance to provide thoughtful input as a developer community.
💬 What do you think?
Do you have suggestions for what we feel would be reasonable use cases for automation?
Have you used automation yourself?
Did you try to get approval — and what was your experience?
Let’s compare notes and maybe help shape a clearer system together.
— @AlAlperGrand Tourneys Club