pbinfo.ro APIwww.pbinfo.ro ↗
Access Romanian informatics problems from pbinfo.ro. Search by keyword, browse by category, and retrieve full problem statements, constraints, and metadata.
curl -X GET 'https://api.parse.bot/scraper/a67950ed-d14d-40d9-8f6d-e48f9f53aa85/search_problems' \ -H 'X-API-Key: $PARSE_API_KEY'
Search programming problems by keyword using the site's autocomplete API. Returns matching problem names and IDs. Results are limited to the top matches returned by the server (typically up to ~30).
| Param | Type | Description |
|---|---|---|
| termrequired | string | Search term to find problems by name (e.g. 'fibonacci', 'matrice', 'sortare'). |
{
"type": "object",
"fields": {
"total": "integer count of results returned",
"results": "array of matching problems with id, name, and label"
},
"sample": {
"total": 2,
"results": [
{
"id": 255,
"name": "Fibonacci",
"label": "Problema #255: Fibonacci"
},
{
"id": 423,
"name": "Fibonacci1",
"label": "Problema #423: Fibonacci1"
}
]
}
}About the pbinfo.ro API
The pbinfo.ro API provides 3 endpoints for accessing programming problems from Romania's primary informatics education platform. Use search_problems to find problems by keyword and get matching IDs and names, list_problems to paginate through category-organized collections, or get_problem to retrieve a full problem record including statement text, time and memory limits, difficulty, tags, categories, and solution count.
Endpoints and Data Coverage
The search_problems endpoint accepts a term parameter (e.g. 'fibonacci', 'matrice', 'sortare') and returns up to approximately 30 matching problems, each with an id, name, and label. This is useful for quickly resolving a problem name to its numeric ID before fetching full details.
The list_problems endpoint takes a required category_id (e.g. '7' for Structuri repetitive, '5' for Cifrele unui numar) and an optional start offset for pagination, returning 10 problems per page. Each entry in the problems array includes id, name, url, summary, and difficulty. The response also includes total so you can calculate how many pages exist for a given category.
Problem Detail Fields
get_problem accepts a numeric problem_id and returns a complete record. The metadata object covers posted_by, class, io_type, time_limit, memory_limit, source, author, and difficulty. The response also includes the full statement string, a categories breadcrumb array, a tags array, and num_solutions — the total count of submitted solutions on the platform. Problem IDs can be sourced from either search_problems or list_problems.
Coverage Notes
pbinfo.ro is a Romanian-language platform targeting secondary and high school informatics curricula. Problem statements and category names are in Romanian. The API covers the public problem catalog; user accounts, submission history, and leaderboard data are not part of the current endpoint set.
- Build a study tool that lets students search pbinfo.ro problems by topic keyword and display the full statement and constraints.
- Aggregate problem difficulty distributions across categories using
list_problemspagination and thedifficultyfield. - Populate a problem recommendation engine using
tagsandcategoriesreturned byget_problem. - Sync a local database of Romanian informatics problems by iterating categories with
list_problemsand fetching details viaget_problem. - Display time and memory limits from
metadataalongside problem statements in a custom IDE or contest preparation app. - Track problem popularity by comparing
num_solutionscounts across problems in the same category. - Generate curated problem lists for a given school grade using the
classfield inmetadata.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does pbinfo.ro have an official public developer API?+
What does `get_problem` return beyond the problem statement?+
statement string, the response includes a metadata object with time_limit, memory_limit, difficulty, class, io_type, author, source, and posted_by. It also returns tags, categories as a breadcrumb array, num_solutions, and the canonical url.How does pagination work in `list_problems`?+
start parameter with zero-based offsets (0, 10, 20, ...) to page through results. The total field in each response tells you the total number of problems in the category, so you can compute how many requests are needed to cover it fully.Does the API expose user submission history or accepted solution code?+
num_solutions. Submission history, individual user statistics, and solution source code are not included. You can fork this API on Parse and revise it to add an endpoint targeting that data.Is there a way to list all available categories and their IDs?+
'7' for Structuri repetitive, '5' for Cifrele unui numar) and passed directly to list_problems. A category discovery endpoint is not part of the current API. You can fork this API on Parse and revise it to add a category listing endpoint.