Discover/Gov API
live

Gov APIonapi.gov.do

Search and retrieve trademarks, patents, expedient status, and institutional news from ONAPI, the Dominican Republic's industrial property office. 7 endpoints.

Endpoint health
verified 2h ago
get_sign_types
get_countries
get_news_articles
search_patents
get_expedient_status
1/7 passing latest checkself-healing
Endpoints
7
Updated
26d ago

What is the Gov API?

The ONAPI API provides access to 7 endpoints covering trademark registrations, patent applications, and expedient event histories from the Dominican Republic's National Industrial Property Office. Use search_trademarks to query by name, Nice Classification class, or sign type, and get_trademark_detail to retrieve holder information, agent details, associated images, and classified product lists for any individual registration.

Try it
Sign type filter.
Search text (name of the trademark, e.g. 'COCA COLA').
Nice Classification class filters, comma-separated (e.g. '32' or '1,2,3').
Subtype filter (e.g. 'PS' for Marca de Fabrica, 'CO' for Colectiva, 'CE' for Certificación). Values depend on selected type; retrieve via get_sign_types.
api.parse.bot/scraper/a990b741-b940-407a-a66c-585eecf43366/<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/a990b741-b940-407a-a66c-585eecf43366/search_trademarks?query=COCA+COLA' \
  -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 onapi-gov-do-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.

"""ONAPI Dominican Republic IP Registry — search trademarks, patents, and news."""
from parse_apis.onapi_dominican_republic_ip_registry_api import (
    Onapi, SignType_, PatentType, ExpedientNotFound
)

client = Onapi()

# Search trademarks by name, filtering to Marca type
for tm in client.trademarks.search(query="COCA COLA", type=SignType_.MARCA, limit=3):
    print(tm.texto, tm.status, tm.certificado)

# Search patents by title keyword
patent = client.patents.search(title="solar", limit=1).first()
if patent:
    print(patent.titulo, patent.titulares, patent.status)

# Look up expedient status and event history
try:
    events = client.expedientstatuses.lookup(serie="2003", numero="5808", limit=3)
    for ev in events:
        print(ev.codigo_evento, ev.fecha_hora, ev.descripcion)
except ExpedientNotFound as exc:
    print(f"Expedient not found: {exc}")

# List latest ONAPI news articles
for article in client.newsarticles.list(limit=3):
    print(article.title, article.link)

# List available sign types and their subtypes
for st in client.signtypes.list(limit=5):
    print(st.id, st.nombre)

print("exercised: trademarks.search / patents.search / expedientstatuses.lookup / newsarticles.list / signtypes.list")
All endpoints · 7 totalmissing one? ·

Search for trademarks (signos distintivos) by text query, type, and Nice Classification classes. Returns a list of matching trademark records with registration details including expedient series/number, certificate number, status, and expiration date. All parameters are optional; omitting all returns an unfiltered result set.

Input
ParamTypeDescription
typestringSign type filter.
querystringSearch text (name of the trademark, e.g. 'COCA COLA').
classesstringNice Classification class filters, comma-separated (e.g. '32' or '1,2,3').
subtypestringSubtype filter (e.g. 'PS' for Marca de Fabrica, 'CO' for Colectiva, 'CE' for Certificación). Values depend on selected type; retrieve via get_sign_types.
Response
{
  "type": "object",
  "fields": {
    "total": "integer total number of results",
    "results": "array of trademark objects with fields: serieExpediente, numeroExpediente, certificado, tipo, subTipo, texto, clases, status, vencimiento, domicilio"
  },
  "sample": {
    "data": {
      "total": 12,
      "results": [
        {
          "id": 0,
          "tipo": "MA",
          "texto": "COCA COLA",
          "clases": " 32 ",
          "gestor": " ",
          "status": "Registrada",
          "subTipo": "PS",
          "titular": null,
          "imagenes": [],
          "domicilio": "ONE COCA COLA PLAZA, P.O.BOX 1734",
          "enTramite": false,
          "tipoSigno": "M",
          "expedicion": "2003-04-30T00:00:00",
          "certificado": "134941",
          "listaClases": [],
          "vencimiento": "2033-04-30T00:00:00",
          "serieExpediente": 2003,
          "numeroExpediente": 5808,
          "aplicadoAProteger": "32-TODOS LOS PRODUCTOS DE ESTA CLASE..."
        }
      ]
    },
    "status": "success"
  }
}

About the Gov API

Trademark Search and Detail

The search_trademarks endpoint accepts a free-text query, one or more classes (Nice Classification codes, comma-separated), a type filter (e.g. DO for Denominación de Origen, IG for Indicación Geográfica, LE for Lema Comercial), and a subtype such as PS (Marca de Fábrica) or CO (Colectiva). Results include serieExpediente, numeroExpediente, certificado, tipo, subTipo, texto, clases, status, and vencimiento fields. The serie and numero values from those results feed directly into get_trademark_detail, which returns the holder name (titular), agent (gestor), domicile address, image URLs, and the full listaClases array with product descriptions.

Patent Search

The search_patents endpoint supports eight independent filter parameters: title, summary, inventor, applicant, solicitud, reg_num, cip (International Patent Classification code, e.g. H02S), and type (P for Patente, U for Modelo de Utilidad, S for Diseño Industrial). Results carry titulo, titulares, inventores, cip, status, fechaPresentacion, fechaPublicacion, and expedient identifiers. Filters can be combined freely — searching by both inventor and cip is valid.

Expedient Status and Event History

get_expedient_status takes the same serie and numero identifiers used in the trademark and patent endpoints and returns two objects: the full expediente detail block and an eventos array. Each event carries codigoEvento, fechaHora, and descripcion, giving a chronological audit trail of every procedural step logged against that application.

Reference Data and News

get_sign_types returns all valid sign types and their nested subTipos (each with tipoId, id, and nombre), which is useful for building filter UIs or validating input before calling search_trademarks. get_countries returns country codes and names available in the ONAPI system. get_news_articles retrieves the latest institutional announcements with title, link, and date fields — no query parameters required.

Reliability & maintenanceVerified

The Gov API is a managed, monitored endpoint for onapi.gov.do — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when onapi.gov.do 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 onapi.gov.do 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
2h ago
Latest check
1/7 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
  • Monitor the registration status and event history of a trademark application by polling get_expedient_status with its serie and numero.
  • Screen a proposed brand name against existing Dominican Republic trademarks using search_trademarks with a text query and specific Nice Classification classes.
  • Identify all patents filed by a particular inventor or applicant in the Dominican Republic via search_patents with the inventor or applicant parameter.
  • Build a trademark classification reference tool using the type codes and subTipos returned by get_sign_types.
  • Retrieve full holder, agent, and product-class details for a known trademark registration using get_trademark_detail.
  • Track ONAPI institutional announcements and policy updates via get_news_articles for compliance monitoring.
  • Search industrial design registrations by filtering search_patents with type set to 'S' and a relevant CIP code.
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 ONAPI provide an official public developer API?+
ONAPI (onapi.gov.do) does not currently publish a documented public REST API for third-party developers. This Parse API provides structured programmatic access to the data available through their platform.
How do I filter trademarks by both product category and sign type at the same time?+
Pass both the classes parameter (comma-separated Nice Classification codes, e.g. '32,33') and the type parameter (e.g. 'MA' for Marca) to search_trademarks in the same request. Both filters apply together, and the response total field reflects the combined result count. Use get_sign_types first if you need to enumerate valid type and subtype codes.
Does the API return the full patent specification text or claims?+
Not currently. search_patents returns title, abstract/summary fields, CIP codes, inventor and applicant names, and status dates, but not the full specification document or patent claims body. You can fork this API on Parse and revise it to add an endpoint that retrieves the detailed patent document if that data is accessible on ONAPI's platform.
Is coverage limited to Dominican Republic registrations?+
Yes. All trademark and patent records returned by this API are those filed and registered with ONAPI, the Dominican Republic's national industrial property office. Registrations from other countries or international filings through WIPO are not included. You can fork this API on Parse and revise it to integrate additional national or international IP registries.
What does the eventos array in get_expedient_status actually contain?+
Each object in the eventos array has three fields: codigoEvento (a code identifying the procedural action), fechaHora (the timestamp of that action), and descripcion (a plain-text description of the event). Events are ordered chronologically, covering the full procedural history of the trademark or patent expedient from initial filing through current status.
Page content last updated . Spec covers 7 endpoints from onapi.gov.do.
Related APIs in Government PublicSee all →
tmsearch.uspto.gov API
Search USPTO trademarks by wordmark or serial number, and retrieve detailed case information (status, owners, classes, and prosecution history) for a specific serial number.
quickcompany.in API
Search Indian trademark registrations and retrieve detailed information about specific marks, including status, proprietor, and correspondence history. Browse trademark journals, explore Nice Classification classes, and filter results by status, class, or keyword to monitor registrations and track opposition trends.
swissreg.ch API
Search and retrieve detailed information about Swiss patents, including their full specifications, publication history, and related targets directly from the official Swiss patent registry. Access comprehensive patent data through simple lookups or broad searches to track innovations and filing details in Switzerland.
pncp.gov.br API
Search and retrieve detailed information about Brazil's public procurement contracts, including bidding results, price registries, and annual contracting plans from the official PNCP portal. Monitor government procurement activities by looking up specific contracts, procurement processes, and procurement records all in one place.
tiendamia.com API
Search for products across multiple countries and vendors on Tiendamia, then access detailed product information, best sellers, outlet deals, and weekly promotions. Get real-time pricing and availability data to find the best deals across different markets.
trademo.com API
Access comprehensive global trade data to search companies, find manufacturers by country, and review detailed trade profiles, sanctions lists, and politically exposed persons (PEP) lists. Monitor global trade indices and build a complete directory of international trading partners and compliance information.
on.com API
Access data from on.com.
nzsl.nz API
Search and explore over 5000 New Zealand Sign Language signs with English and Māori translations, video demonstrations, and example sentences. Access detailed sign information, alphabet and number references, classifier pages, and get a sign of the day to expand your NZSL vocabulary.