Discover/Normattiva API
live

Normattiva APInormattiva.it

Search and retrieve Italian legislative acts from Normattiva.it. Filter by year, act type, number, or keyword. Returns full text with article structure preserved.

Endpoint health
verified 4d ago
search_laws_simple
search_laws
get_law_full_text
suggest
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Normattiva API?

The Normattiva API gives programmatic access to Italy's official legislative database through 4 endpoints covering search, full-text retrieval, and autocomplete. Use search_laws to filter acts by year, act type (LEGGE, DECRETO-LEGGE, DECRETO LEGISLATIVO), act number, or body text, and get_law_full_text to retrieve the complete content of a specific act with its article numbering (Art. 1, Art. 2, etc.) intact.

Try it
Page number (0-indexed)
Year of the act (e.g. '2026')
Text to search in the body of laws
Act number (e.g. '213')
Type/denomination of the act. Accepts display name or code.
Text to search in the title of laws
api.parse.bot/scraper/083d53e7-2d04-43bf-bac9-652b1dc273ba/<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/083d53e7-2d04-43bf-bac9-652b1dc273ba/search_laws?page=0&year=2026&query=lavoro&number=60&act_type=COS&title_search=lavoro' \
  -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 normattiva-it-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.

from parse_apis.normattiva_italian_law_api import Normattiva, ActType, LawSummary

client = Normattiva()

# Search for laws of type LEGGE from 2026
for law in client.lawsummaries.search(year="2026", act_type=ActType.LEGGE, limit=5):
    print(law.official_title, law.publication_date, law.codice_redazionale)

    # Navigate to full text from a search result
    full = law.details()
    print(full.subtitle, full.full_text[:200])

# Simple text search
for result in client.lawsummaries.simple_search(query="lavoro", limit=3):
    print(result.official_title, result.gazzetta_ufficiale, result.detail_url)

# Autocomplete suggestions
for suggestion in client.suggestions.list(query="diritto"):
    print(suggestion.value, suggestion.label)
All endpoints · 4 totalmissing one? ·

Search for Italian laws/acts using advanced filters (year, act type, number, title text, body text). Returns paginated results with 20 items per page. At least one search parameter should be provided. The act_type parameter accepts either the display name (e.g. 'LEGGE') or the internal code (e.g. 'PLE'). Each result includes metadata and identifiers needed to retrieve the full text via get_law_full_text.

Input
ParamTypeDescription
pageintegerPage number (0-indexed)
yearstringYear of the act (e.g. '2026')
querystringText to search in the body of laws
numberstringAct number (e.g. '213')
act_typestringType/denomination of the act. Accepts display name or code.
title_searchstringText to search in the title of laws
Response
{
  "type": "object",
  "fields": {
    "page": "integer - current page number (0-indexed)",
    "results": "array of LawSummary objects",
    "per_page": "integer - results per page (always 20)",
    "total_count": "integer - total number of matching acts",
    "has_next_page": "boolean - whether more pages are available",
    "results_on_page": "integer - number of results on this page"
  },
  "sample": {
    "data": {
      "page": 0,
      "results": [
        {
          "detail_url": "https://www.normattiva.it/atto/caricaDettaglioAtto?atto.dataPubblicazioneGazzetta=2026-05-27&atto.codiceRedazionale=26G00108&atto.articolo.numero=0&atto.articolo.sottoArticolo=1&atto.articolo.sottoArticolo1=0&qId=",
          "description": "Modifica dell'intesa tra il Governo della Repubblica italiana e l'Unione Induista italiana",
          "official_title": "LEGGE 7 Maggio 2026, n. 93",
          "publication_date": "2026-05-27",
          "codice_redazionale": "26G00108",
          "gazzetta_ufficiale": "(GU n. 121 del 27-05-2026)"
        }
      ],
      "per_page": 20,
      "total_count": 46,
      "has_next_page": false,
      "results_on_page": 20
    },
    "status": "success"
  }
}

About the Normattiva API

Search and Filter Italian Legislation

search_laws accepts up to six filter parameters — year, number, act_type, query (body text), title_search, and page — and returns paginated results of 20 items per page. Each result object includes official_title, description, publication_date, gazzetta_ufficiale (the Gazzetta Ufficiale reference), codice_redazionale (a unique act identifier), and a detail_url. The total_count and has_next_page fields let you walk through large result sets. For simpler use cases, search_laws_simple accepts just a query string and returns the same response shape.

Full-Text Retrieval

get_law_full_text takes two required inputs — publication_date (YYYY-MM-DD) and codice_redazionale — both available from search results. It returns official_title, subtitle, publication_date, the act's codice_redazionale, and full_text with article numbering preserved. Acts that have not yet entered into force return a full_text value indicating 'NON ANCORA ESISTENTE O VIGENTE' rather than the article body.

Autocomplete Suggestions

suggest accepts a partial Italian-language query (minimum 3 characters) and returns up to 5 matching terms from the Normattiva corpus. Each suggestion object contains label (HTML-formatted, suitable for display), value (plain text), and name. Terms outside the corpus return an empty list, so this endpoint is most reliable with Italian legal terminology.

Coverage and Identifiers

The codice_redazionale field (example: 26G00036) is the stable identifier for each act and should be used to link search results to full-text retrieval. The gazzetta_ufficiale field provides the original publication reference in the Italian Official Gazette. All act types present on Normattiva — including laws, legislative decrees, and decree-laws — are searchable via the act_type filter.

Reliability & maintenanceVerified

The Normattiva API is a managed, monitored endpoint for normattiva.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when normattiva.it 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 normattiva.it 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
4d ago
Latest check
4/4 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 legal research tool that lets users filter Italian laws by year and act type, then display full article text.
  • Monitor newly published decrees by querying search_laws with a specific year and act_type of 'DECRETO-LEGGE'.
  • Power an autocomplete search bar for Italian legal terms using the suggest endpoint.
  • Cross-reference a specific law number against its Gazzetta Ufficiale publication details returned in search results.
  • Ingest full legislative texts into a document store for NLP or semantic search by retrieving full_text via get_law_full_text.
  • Track all legislative acts matching a keyword across multiple years using paginated search_laws queries.
  • Extract structured act metadata (title, publication date, codice_redazionale) for a compliance or regulatory database.
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 Normattiva provide an official developer API?+
Normattiva does not publish a documented public developer API. It is the official Italian government portal for legislation (normattiva.it), but programmatic access is not offered as a supported service to third-party developers.
What identifiers do I need to retrieve the full text of a specific act?+
get_law_full_text requires two fields from search results: publication_date (in YYYY-MM-DD format) and codice_redazionale (e.g., '26G00036'). Both are returned in every result object from search_laws and search_laws_simple. Without both values the full-text endpoint cannot resolve the act.
What happens when a law exists in the database but is not yet in force?+
The get_law_full_text endpoint still returns a valid response, but the full_text field will contain the string 'NON ANCORA ESISTENTE O VIGENTE' instead of article content. The official_title, subtitle, publication_date, and codice_redazionale fields are still populated.
Can I retrieve historical versions or amendments of a specific law?+
The current API returns the text as displayed on the Normattiva detail page and does not expose versioned or amended historical states of a law. It covers current full-text retrieval, search across all acts, and autocomplete. You can fork the API on Parse and revise it to add endpoints targeting Normattiva's versioned act views.
Are regional laws (leggi regionali) covered by the search endpoints?+
The search endpoints index the acts available on normattiva.it, which focuses on national-level Italian legislation. Regional legislation is not currently covered by the returned results. You can fork the API on Parse and revise it to target regional law sources if your use case requires them.
Page content last updated . Spec covers 4 endpoints from normattiva.it.
Related APIs in Government PublicSee all →
njt.jog.gov.hu API
Search and retrieve Hungarian laws, decrees, and legal documents from the National Legislation Database to find current legislation and legal regulations. Quickly look up specific laws, get detailed document information, and discover relevant legal acts through intelligent search suggestions.
indiankanoon.org API
indiankanoon.org API
eur-lex.europa.eu API
Access and explore the complete collection of European Union laws, regulations, and Official Journal publications through a comprehensive database that lets you search documents, retrieve full texts, summaries, and metadata, and track legislative procedures and national implementations. Find exactly what you need with detailed search capabilities and get detailed information about how EU laws are transposed into national legislation.
diariodarepublica.pt API
Search and retrieve official Portuguese legislation, decrees, and resolutions published in the Diário da República, organized by publication series and date. Browse acts from both Serie I and Serie II to stay updated on the latest government publications and legal announcements.
indiacode.nic.in API
Search and retrieve Indian legislation from indiacode.nic.in. Browse Central and State Acts, look up individual sections, and extract fully structured act content by keyword or handle ID.
nolo.com API
Access legal articles, state-specific law guides, dictionary definitions, and DIY legal products from Nolo.com. Search across the full Nolo library, browse trending and recent content, and look up legal topics by keyword or category.
registroimprese.it API
Search Italian companies by name or ID to instantly access official business registration details including company status, founding information, and corporate structure from the authoritative Italian Business Registry. Get comprehensive company profiles with verified legal and operational data all in one place.
legifrance.gouv.fr API
Search and retrieve official French legal documents, laws, and unclaimed estate notices from the Journal Officiel (JORF), including the ability to browse the latest published issues. Find specific legal texts and succession notices to stay informed about French legislation and inheritance announcements.