Monitorul Oficial APImonitoruloficial.ro ↗
Access Romania's Official Gazette via API. Retrieve issues by date, parse act full text from PDFs, search announcements by CUI, and browse the bookstore.
What is the Monitorul Oficial API?
This API exposes 8 endpoints covering Romania's Monitorul Oficial portal, returning gazette issues, publication calendars, legislative act full text, and bookstore products. The get_issue_content endpoint parses the table of contents from a gazette issue PDF, extracting each act's category, title, act number, and page range. The get_act_full_text endpoint goes further, returning the complete body text of every act in an issue — useful for searching the content of laws, government orders, and decisions.
curl -X GET 'https://api.parse.bot/scraper/f1b442b7-eed8-42bf-8685-13a6c4c3c8e5/get_issues_by_date?date=2026-08-16' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve gazette issues for a specific date. Returns parts (Partea I, II, III, IV, VI, VII, Maghiară) and their issue numbers with URLs. Each part contains zero or more individually-numbered issues. Dates without publications return an empty parts array. The date defaults to today (UTC) when omitted.
| Param | Type | Description |
|---|---|---|
| date | string | Publication date in YYYY-MM-DD format. Defaults to today's date (UTC) if omitted. |
{
"type": "object",
"fields": {
"date": "string in YYYY-MM-DD format",
"parts": "array of objects containing part_name (string) and issues (array of objects with issue_number and url)"
},
"sample": {
"data": {
"date": "2026-07-09",
"parts": [
{
"issues": [
{
"url": "https://monitoruloficial.ro/Monitorul-Oficial--PI--564--2026.html",
"issue_number": "564"
}
],
"part_name": "Partea I"
}
]
},
"status": "success"
}
}About the Monitorul Oficial API
Gazette Issues and Date Coverage
The get_issues_by_date endpoint accepts a date parameter in YYYY-MM-DD format (defaulting to today UTC) and returns a parts array. Each element carries a part_name — such as Partea I, Partea a IV-a, or Maghiară — and an issues array of objects with issue_number and url. Dates with no publications return an empty parts array. For multi-day lookups, get_legislative_modifications_range accepts start_date and end_date and returns publications grouped by date, with the same part and issue structure. The range is capped at 31 days; any end_date beyond that is silently truncated and the actual range used is reflected in the response.
Calendar Scanning and PDF Parsing
get_emonitor_calendar scans an entire month: supply year and month and the response includes a published_dates array where each entry lists which part names were active that day. Note that this endpoint makes one call per calendar day up to today, so response time scales with the number of days scanned. Once you have an issue URL from get_issues_by_date or get_legislative_modifications_range, pass it to get_issue_content to receive parsed act metadata — act_number, title, category, and pages — extracted from the issue's SUMAR. For the complete text, get_act_full_text uses the same URL parameter and returns a full_text field per act alongside the same metadata fields.
Announcements and Bookstore
get_announcements searches Partea a IV-a professional announcements by cui (company ID) or nr (Monitorul Oficial registration number) — at least one must be provided. It returns up to 10 matching records with fields including NR_INR_MO, CUI, NR_MO, and DATA_MO. The bookstore endpoints let you browse or search publications: get_products returns up to 24 WooCommerce products per page with title, price in RON, url, and image, filterable by category slug. search_site runs a keyword query across both products and articles, returning paginated results with type, title, price (null for articles), url, and snippet.
The Monitorul Oficial API is a managed, monitored endpoint for monitoruloficial.ro — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when monitoruloficial.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 monitoruloficial.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a daily legislative digest by calling get_issues_by_date and extracting act titles and categories from Partea I issues
- Monitor company announcements in Partea a IV-a by querying get_announcements with a CUI and tracking new NR_MO entries
- Keyword-search the body of government orders and decisions using get_act_full_text across a date range from get_legislative_modifications_range
- Generate a monthly publication heatmap using get_emonitor_calendar to identify which days had gazette activity
- Index Romanian legal bookstore inventory by paginating get_products with category slugs like 'juridice' or 'constitutii'
- Cross-reference legislative act page numbers and section categories from get_issue_content to build a structured act index
- Alert system that watches a 31-day rolling window via get_legislative_modifications_range for new issues in specific gazette parts
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.