Get access to Codeforces data.
The Codeforces API provides programmatic, read-only access to data from the Codeforces competitive programming platform in JSON format. Requests are made over HTTP to method-specific endpoints, with methods covering blog entries and comments, contests (hacks, list, rating changes, standings, status), groups, problem sets, recent actions, system status, and user data (blog entries, friends, info, rated list, rating, status). Responses include a status field and either a result object on success or a comment explaining failure.
Most methods can be called anonymously and return only public data. Access to private data, such as hacks during a contest, requires an API key and secret generated from a user's Codeforces settings page, combined with a time parameter and an SHA-512-based signature (apiSig) computed over the request parameters. Requests are rate-limited to one per two seconds, and results can be returned in English or Russian via a lang parameter. JSONP is supported by adding a jsonp parameter, wrapping the response in a callback function.
This API is intended for developers building tools, statistics dashboards, or integrations that consume competitive programming data such as contest results, problem sets, user ratings, and submission history from Codeforces.
The documentation does not mention any cost; anonymous requests to public data require no payment or key.
Yes, the API may be requested at most once every two seconds, and exceeding this returns a FAILED status with a 'Call limit exceeded' comment.
You generate an API key and secret on the Codeforces settings page, then include apiKey, time, and an apiSig SHA-512 signature in your requests.
The API returns machine-readable JSON objects with status, comment, and result fields, and also supports JSONP for JavaScript callback responses.
It is for developers who want programmatic access to Codeforces data such as contests, problems, users, ratings, and blog entries.
Show your product to thousands of developers
· 100k monthly pageviews
· 7k newsletter subscribers
For compiling and running code in several languages.
For compiling and running code in several languages.
Run JMESPath queries on JSON data for filtering, transforming, and extracting results.
Online code execution system.
Create, retrieve, update, increment, and decrement counters identified by namespace and key.
PHP syntax checker.