Discover/pbinfo API
live

pbinfo APIpbinfo.ro

Access Romanian informatics problems from pbinfo.ro. Search by keyword, browse by category, and retrieve full problem statements, constraints, and metadata.

This API takes change requests — .
Endpoint health
verified 3d ago
get_problem
list_problems
search_problems
3/3 passing latest checkself-healing
Endpoints
3
Updated
1mo ago

What is the pbinfo 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.

Try it
Search term to find problems by name (e.g. 'fibonacci', 'matrice', 'sortare').
api.parse.bot/scraper/a67950ed-d14d-40d9-8f6d-e48f9f53aa85/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a67950ed-d14d-40d9-8f6d-e48f9f53aa85/search_problems?term=fibonacci' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace pbinfo-ro-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""PbInfo.ro — search, browse by category, and drill into problem details."""
from parse_apis.pbinfo_ro_problems_api import PbInfo, ProblemNotFound

client = PbInfo()

# Search for problems by keyword — limit caps total items fetched.
for result in client.problems.search(term="fibonacci", limit=5):
    print(result.id, result.name)

# Browse problems in a category (Structuri repetitive = category 7).
first_summary = client.problemsummaries.list(category_id="7", limit=1).first()
if first_summary:
    print(first_summary.name, first_summary.difficulty)

    # Drill into the full problem detail from the summary.
    problem = first_summary.details()
    print(problem.title, problem.metadata.difficulty, problem.num_solutions)

# Direct point-lookup by known problem ID.
try:
    fib = client.problems.get(id="255")
    print(fib.title, fib.metadata.time_limit, fib.categories)
except ProblemNotFound as exc:
    print(f"Problem not found: {exc.problem_id}")

print("exercised: problems.search / problemsummaries.list / details / problems.get")
All endpoints · 3 totalmissing one? ·

Full-text search over the problem catalog via autocomplete. Returns matching problem names and IDs ranked by relevance. Server returns up to ~30 top matches; no pagination. Each result carries the numeric problem ID usable with get_problem.

Input
ParamTypeDescription
termrequiredstringSearch term to find problems by name (e.g. 'fibonacci', 'matrice', 'sortare').
Response
{
  "type": "object",
  "fields": {
    "total": "integer count of results returned",
    "results": "array of matching problems with id, name, and label"
  },
  "sample": {
    "data": {
      "total": 5,
      "results": [
        {
          "id": 255,
          "name": "Fibonacci",
          "label": "Problema #255: Fibonacci"
        },
        {
          "id": 423,
          "name": "Fibonacci1",
          "label": "Problema #423: Fibonacci1"
        }
      ]
    },
    "status": "success"
  }
}

About the pbinfo API

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.

Reliability & maintenanceVerified

The pbinfo API is a managed, monitored endpoint for pbinfo.ro — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pbinfo.ro changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official pbinfo.ro API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • 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_problems pagination and the difficulty field.
  • Populate a problem recommendation engine using tags and categories returned by get_problem.
  • Sync a local database of Romanian informatics problems by iterating categories with list_problems and fetching details via get_problem.
  • Display time and memory limits from metadata alongside problem statements in a custom IDE or contest preparation app.
  • Track problem popularity by comparing num_solutions counts across problems in the same category.
  • Generate curated problem lists for a given school grade using the class field in metadata.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does pbinfo.ro have an official public developer API?+
pbinfo.ro does not publish an official documented API for third-party developers. This Parse API provides structured access to the platform's public problem catalog.
What does `get_problem` return beyond the problem statement?+
In addition to the 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`?+
The endpoint returns 10 problems per page. Use the 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?+
Not currently. The API covers the public problem catalog — statements, metadata, tags, categories, and aggregate solution counts via 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?+
Not currently. Category IDs must be known in advance (e.g. '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.
Page content last updated . Spec covers 3 endpoints from pbinfo.ro.
Related APIs in EducationSee all →
arxiv.org API
Search and discover academic research papers on arXiv using keywords, authors, titles, categories, and dates, then access detailed metadata for any paper. Browse the complete arXiv category taxonomy to explore research across different scientific disciplines.
zenodo.org API
Search and retrieve research records, files, versions, and community data from Zenodo's open science repository. Access detailed information about academic publications, datasets, and research outputs, including file listings, version history, and community collections all in one place.
openalex.org API
Search and retrieve millions of academic papers, articles, and books from OpenAlex's comprehensive global research catalog to find scholarly works by topic, author, or citation. Discover detailed information about research publications including metadata, abstracts, and citation counts to stay current with academic literature in your field.
ieeexplore.ieee.org API
Search for scientific papers and retrieve their metadata, abstracts, references, and citations from IEEE Xplore's collection of journals and conferences. Look up author profiles, browse journals, and access paper details and full text sections all programmatically.
dictionary.cambridge.org API
Look up word definitions, pronunciations, translations, synonyms, and example sentences from Cambridge Dictionary. Search and browse thousands of words, get daily word recommendations, and access specialized business or American English dictionaries.
niche.com API
Search and retrieve data on K-12 schools and colleges from Niche.com, including rankings, report card grades, stats, and user reviews.
wellcomecollection.org API
Access data from wellcomecollection.org.
libgen.gl API
Search for books and retrieve detailed metadata including file information, edition details, and bibliographic data from Library Genesis. Access comprehensive book information like download links, file formats, and publication details all in one place.