Gov APIpravo.gov.ru ↗
Search and retrieve officially published Russian legal acts from pravo.gov.ru. Filter by keyword, authority, document type, and date. Get full text and PDF links.
What is the Gov API?
The pravo.gov.ru API exposes 5 endpoints for querying Russia's official legal publication portal. Use search_documents to find federal laws, presidential decrees, and government resolutions by keyword, issuing authority, document type, and date range, then call get_document to retrieve metadata, legal status, the official PDF URL, appendices, and full plain text for acts the portal publishes in HTML format.
curl -X GET 'https://api.parse.bot/scraper/d6e83666-8cd9-4799-a4a8-d5cef8e8fdca/search_documents?query=%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8&date_to=2026-09-03&date_from=2023-12-08' \ -H 'X-API-Key: $PARSE_API_KEY'
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 pravo-gov-ru-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.
"""Walkthrough: pravo.gov.ru SDK — search Russian legal acts, drill into full text."""
from parse_apis.pravo_gov_ru_api import PravoGovRu, DateField, DocumentNotFound
client = PravoGovRu()
# Browse portal sections and the authorities within one section.
for block in client.blocks.list(limit=5):
print(block.block, block.name)
# Authorities for the presidential section, using constructible Block.
presidential = client.block(block="president")
for auth in presidential.authorities.list(limit=5):
print(auth.authority_id, auth.name)
# List available document types (useful for filtering searches).
for dt in client.document_types.list(limit=5):
print(dt.document_type_id, dt.name)
# Search recent legal acts about education, sorted by publication date.
summary = client.document_summaries.search(
query="образовании",
date_from="2024-01-01",
date_field=DateField.PUBLICATION,
limit=1,
).first()
# Drill into the full document from a search hit.
if summary is not None:
print(summary.publication_number, summary.title)
try:
doc = summary.details()
except DocumentNotFound:
print("document removed from portal")
else:
print(doc.full_title)
print("pages:", doc.pages_count, "source:", doc.text_source)
if doc.text:
print(doc.text[:200])
for appendix in doc.appendices:
print(" appendix:", appendix.title, appendix.url)
print("exercised: blocks.list / block.authorities.list / document_types.list / document_summaries.search / details")
Searches officially published legal acts. Returns one record per publication (publication_number is the portal's 16-digit official publication number, consumed by get_document) with title, document type, issuing authority, document number, signing date, publication date, page URL and PDF URL. All filters are optional and combine with AND; with no filters the newest publications are returned. The keyword matches whole words in the act title (a word form such as 'образовании' matches, a stem such as 'образован' does not). The date range applies to the publication date by default or to the signing date when date_field is 'signing'; a date in any format other than YYYY-MM-DD is rejected. Pagination is caller-controlled through page (1-based, default 1) and page_size (portal-allowed values 10, 30, 100, 200; default 30); total, pages_total and has_more come from the portal. One search call costs one portal request plus two cached lookups that resolve type and authority names.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based result page. |
| block | string | Portal publication section code from list_blocks.items[*].block (e.g. president, government, subjects). Omitted = all sections. |
| query | string | Keyword(s) matched as whole words against the act title. Omitted = no keyword filter. |
| date_to | string | End of the date range, ISO date YYYY-MM-DD (inclusive). |
| date_from | string | Start of the date range, ISO date YYYY-MM-DD (inclusive). |
| page_size | integer | Results per page; the portal accepts only 10, 30, 100 or 200. |
| date_field | string | Which date the range filters on: the official publication date or the signing date of the act. |
| authority_id | string | Issuing (signatory) authority identifier (GUID) from list_authorities.items[*].authority_id. Omitted = all authorities. |
| document_number | string | Exact document number as printed on the act (e.g. 274-ФЗ or 550). Omitted = no number filter. |
| document_type_id | string | Document type identifier (GUID) from list_document_types.items[*].document_type_id. Omitted = all types. |
{
"type": "object",
"fields": {
"page": "integer current 1-based page",
"items": "array of publication records: publication_number (16-digit official id), title, full_title (type + date + number + title as printed), document_type_id, document_type (name), authority_id, authority (name), document_number, signing_date (YYYY-MM-DD), publication_date (YYYY-MM-DD), pages_count, page_url, pdf_url",
"total": "integer total matching publications reported by the portal",
"has_more": "boolean, true when a later page exists",
"page_size": "integer page size used",
"pages_total": "integer total pages reported by the portal"
},
"sample": {
"data": {
"page": 2,
"items": [
{
"title": "\"О внесении изменения в статью 86 Федерального закона «Об образовании в Российской Федерации»\"",
"pdf_url": "http://publication.pravo.gov.ru/file/pdf?eoNumber=0001202406220018",
"page_url": "http://publication.pravo.gov.ru/document/0001202406220018",
"authority": "Президент Российской Федерации",
"full_title": "Федеральный закон от 22.06.2024 № 159-ФЗ\n \"О внесении изменения в статью 86 Федерального закона \"Об образовании в Российской Федерации\"",
"pages_count": 3,
"authority_id": "225698f1-cfbc-4e42-9caa-32f9f7403211",
"signing_date": "2024-06-22",
"document_type": "Федеральный закон",
"document_number": "159-ФЗ",
"document_type_id": "82a8bf1c-3bc7-47ed-827f-7affd43a7f27",
"publication_date": "2024-06-22",
"publication_number": "0001202406220018"
}
],
"total": 18,
"has_more": false,
"page_size": 10,
"pages_total": 2
},
"status": "success"
}
}About the Gov API
What the API covers
The API mirrors the public catalog on pravo.gov.ru, Russia's official portal for publishing federal and regional legal acts. Each record in search_documents returns a publication_number — the portal's 16-digit official identifier — alongside title, full_title, document_type, authority, document_number, signing_date, publication_date, and page_url. Results can be filtered by query (whole-word keyword match against act titles), date_from/date_to (applied to either the publication date or the signing date via date_field), authority_id, and block (portal section). Pagination is controlled by page and page_size, which accepts only the values 10, 30, 100, or 200.
Document detail and full text
get_document takes a publication_number and returns everything search_documents provides plus Ministry of Justice registration data, status (legal status from the portal's legal-texts system), pdf_url, pages_count, and appendices (each with title, unit_id, and url). The text field contains the full plain text of the act, with paragraphs separated by newlines, but only when the portal has published an HTML version of the document; when no HTML version exists, both text and status are null and text_source is 'none'.
Reference lists
Three supporting endpoints populate filter values. list_blocks returns portal section codes (block) such as president, government, and subjects, along with their names and descriptions. list_authorities returns authority_id/name pairs for all issuing authorities; passing a block narrows the list to that section. list_document_types returns document_type_id/name pairs — types like Федеральный закон, Указ, and Постановление — optionally filtered to one authority. These identifiers feed directly into search_documents filters.
The Gov API is a managed, monitored endpoint for pravo.gov.ru — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pravo.gov.ru 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 pravo.gov.ru 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?+
- Track all presidential decrees (Указ) signed within a specific date range by filtering search_documents on authority_id and document type
- Build a full-text index of Russian federal laws by paginating search_documents and fetching text from get_document for each HTML-available act
- Monitor new government resolutions (Постановления) published to the government block by polling search_documents with date_from set to the previous check date
- Extract Ministry of Justice registration data and legal status for compliance checks using get_document's status and full_title fields
- Retrieve official PDF links and page counts for archival or document management systems via get_document's pdf_url and pages_count fields
- Enumerate all regional issuing authorities by calling list_authorities without a block filter for cross-regional legislative analysis
- Collect appendices attached to complex legislative acts using the appendices array returned by get_document
| 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.