# Monitoruloficial — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access the Romanian Official Gazette to retrieve published issues by date, browse legislative modifications, search professional announcements, and find products in the online bookstore. Check the eMonitor calendar and search across the entire portal to stay updated on official Romanian government publications and legal changes.

**Category:** Government & Public Data | **Website:** [monitoruloficial.ro/](https://monitoruloficial.ro/) | **Docs:** [parse.bot/marketplace/2ce0590c-f0f6-461e-a2b7-46810674abae/monitoruloficial-ro-api](https://parse.bot/marketplace/2ce0590c-f0f6-461e-a2b7-46810674abae/monitoruloficial-ro-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_act_full_text

Fetch and extract the complete body text of all acts from a gazette issue PDF. Parses page-by-page text using the SUMAR (table of contents) to identify act boundaries, then returns each act's full text content. Useful for keyword searching inside laws, decisions, and government orders. The URL is obtained from get_issues_by_date or get_legislative_modifications_range results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Issue page URL from get_issues_by_date or get_legislative_modifications_range (e.g. https://monitoruloficial.ro/Monitorul-Oficial--PI--583--2026.html) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/get_act_full_text \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_announcements

Search for professional announcements (Partea a IV-a) by Company ID (CUI) or registration number (Nr Înregistrare MO). Automatically obtains a session cookie and nonce from the search page before querying. Returns the 10 most recent matching announcements. At least one of cui or nr must be provided.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cui` | string | No | Company ID (CUI). Either cui or nr must be provided. |
| `nr` | string | No | Registration number in Monitorul Oficial. Either cui or nr must be provided. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/get_announcements \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cui":"<string>","nr":"<string>"}'
```

### get_emonitor_calendar

Scan a month to identify dates with gazette publications. Iterates each day up to today and returns dates that have at least one published part. Only part names are returned, not individual issues. Response time scales linearly with days in the month (one upstream call per day).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `month` | integer | Yes | Month (1-12) |
| `year` | integer | Yes | Year (e.g., 2026) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/get_emonitor_calendar \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"month":"<integer>","year":"<integer>"}'
```

### get_issue_content

Fetch and parse the table of contents (SUMAR) from a gazette issue PDF. Extracts metadata (part name, issue number, year) from the URL and parses the first page of the PDF to identify published acts/documents with their categories and page numbers. The URL is obtained from get_issues_by_date or get_legislative_modifications_range results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Issue page URL from get_issues_by_date or get_legislative_modifications_range (e.g. https://monitoruloficial.ro/Monitorul-Oficial--PI--321--2026.html) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/get_issue_content \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_issues_by_date

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.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date` | string | No | Publication date in YYYY-MM-DD format. Defaults to today's date (UTC) if omitted. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/get_issues_by_date \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>"}'
```

### get_legislative_modifications_range

Retrieve all gazette issues published within a date range. Capped at 31 days maximum; if end_date exceeds start_date + 31 days it is silently truncated. Returns publications grouped by date, each containing full part and issue details. Response time scales with the number of days in the range.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `end_date` | string | Yes | End of date range in YYYY-MM-DD format. If more than 31 days after start_date, capped at start_date + 31 days. |
| `start_date` | string | Yes | Start of date range in YYYY-MM-DD format |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/get_legislative_modifications_range \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"end_date":"<string>","start_date":"<string>"}'
```

### get_products

Browse the online bookstore via the WooCommerce Store API. Returns up to 24 products per page with title, price in RON, permalink, and cover image URL. Supports filtering by category slug. Omitting category returns all products across all categories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Product category slug for filtering (e.g. 'juridice', 'colectii-de-arta', 'constitutii'). Omitting returns all products. |
| `page` | integer | No | Page number for pagination |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/get_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","page":"<integer>"}'
```

### search_site

Site-wide search across products (books) and articles. Returns paginated results mixing both types. Products include a price; articles may include a text snippet. Results are ordered by WordPress relevance.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination |
| `query` | string | Yes | Search keywords |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-monitoruloficial-ro-api-2ce0590c/search_site \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```
