Discover/Swissreg API
live

Swissreg APIswissreg.ch

Retrieve Swiss patent details, publication history, IPC/CPC classifications, holder and inventor data from the official Swissreg registry via a simple REST API.

Endpoint health
verified 1d ago
get_publication_detail
get_patent_detail
get_targets
3/3 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Swissreg API?

The Swissreg API provides structured access to Swiss patent registry data across 4 endpoints, returning fields including patent title, official patent number, IPC and CPC classifications, holder and inventor records, and full publication history. The get_patent_detail endpoint resolves a patent by its internal numeric ID and returns a complete record including status, addresses, and linked publication URNs.

Try it
Internal numeric ID of the patent (e.g., 1207223855, 31221348).
api.parse.bot/scraper/a4f089e5-9033-4736-85dc-337f43ee4f3a/<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/a4f089e5-9033-4736-85dc-337f43ee4f3a/get_patent_detail?patent_id=1207223855' \
  -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 swissreg-ch-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: Swissreg Patent API — bounded, re-runnable; every call capped."""
from parse_apis.swissreg_patent_api import Swissreg, Patent, Publication, Target, RecordNotFound

client = Swissreg()

# List available database targets (patent, design, chmarke, etc.)
for target in client.targets.list(limit=5):
    print(target.name)

# Fetch a single patent by its internal ID
patent = client.patents.get(patent_id="1207223855")
print(patent.titel, patent.schutztitelnummer, patent.schutztitelstatus)
print(patent.ipcs)
print(patent.cpcs)

# Navigate to a publication from the patent's sub-resource
pub = patent.publications.get(publication_id="10239520")
print(pub.publikationsdatum, pub.aenderungsgrund, pub.schutztitel_ref)

# Typed error handling: catch not-found on an invalid ID
try:
    missing = client.patents.get(patent_id="9999999999")
    print(missing.titel)
except RecordNotFound as exc:
    print(f"Patent not found: {exc}")

print("exercised: targets.list / patents.get / patent.publications.get / error handling")
All endpoints · 4 totalmissing one? ·

Retrieve full detail for a single patent record by its internal numeric ID. Returns title, numbers, dates, status, holder, inventor, IPC/CPC classifications, publication references, and priority data. The ID is the internal Swissreg numeric identifier visible in patent URNs. Returns input_not_found if the patent ID does not exist.

Input
ParamTypeDescription
patent_idrequiredstringInternal numeric ID of the patent (e.g., 1207223855, 31221348).
Response
{
  "type": "object",
  "fields": {
    "id": "string, URN identifier of the patent (e.g. urn:ige:schutztitel:patent:1207223855)",
    "cpcs": "array of CPC classification strings",
    "ipcs": "array of IPC classification strings",
    "titel": "string, patent title",
    "publikationRefs": "array of URN references to related publications",
    "registeradressen": "object containing INHABER (holders) and ERFINDER (inventors) arrays",
    "schutztitelnummer": "string, official patent number (e.g. CH720630)",
    "schutztitelstatus": "string or null, current status of the patent (e.g. GELOESCHT, AKTIV)"
  },
  "sample": {
    "data": {
      "id": "urn:ige:schutztitel:patent:1207223855",
      "cpcs": [
        "F24S60/00 (2021-08-01)",
        "F24S10/00 (2018-05-01)"
      ],
      "ipcs": [
        "F24S 10/00 (2018.01)",
        "F24S 60/00 (2018.01)"
      ],
      "titel": "Solar-Brenner",
      "doctype": "urn:ige:schutztitel:patent",
      "anmeldedatum": "22.03.2023",
      "gesuchsnummer": "CH000317/2023",
      "schutztitelId": "1207223855",
      "schutztiteltyp": "CH_PATENT",
      "publikationRefs": [
        "urn:ige:publikation:patent:10239520",
        "urn:ige:publikation:patent:10634021"
      ],
      "registeradressen": {
        "INHABER": [
          {
            "id": "17598071",
            "zip": 5620,
            "name": "Ulrich Stutz",
            "town": "Bremgarten",
            "street": "Sonnmattweg 8",
            "country": "CH"
          }
        ],
        "ERFINDER": [
          {
            "id": "17598071",
            "zip": 5620,
            "name": "Ulrich Stutz",
            "town": "Bremgarten",
            "street": "Sonnmattweg 8",
            "country": "CH"
          }
        ]
      },
      "schutztitelnummer": "CH720630",
      "schutztitelstatus": "GELOESCHT",
      "veroeffentlichungsdatum": "30.09.2024"
    },
    "status": "success"
  }
}

About the Swissreg API

Patent Records

The get_patent_detail endpoint accepts a patent_id (e.g., 1207223855) and returns the full patent record from Swissreg. Response fields include titel (patent title), schutztitelnummer (the official CH patent number), schutztitelstatus (current status), cpcs and ipcs (arrays of CPC and IPC classification strings), registeradressen (an object with INHABER and ERFINDER arrays for holders and inventors), and publikationRefs (URN references linking to associated publication records). If the ID does not exist, the endpoint returns input_not_found.

Publication History

The get_publication_detail endpoint accepts a publication_id — either a short numeric ID (e.g., 7377553) or a full URN — and returns the detail record for a single publication event in a patent's history. Key response fields include aenderungsgrund (reason for the change), publikationsdatum (publication date), publikationstexte (an object keyed by language: de, en, fr, it), and schutztitelRef (the URN of the parent patent). This makes it possible to reconstruct the full lifecycle of a patent by following URN references from the parent record.

Database Targets and Search

The get_targets endpoint requires no inputs and returns the list of available database categories on Swissreg, such as patent, design, and chmarke. This is useful for discovering which registries are accessible. The search_patents endpoint is defined but currently returns HTTP 403 due to active protection on POST requests from the source site, so programmatic patent search is not available at this time.

Reliability & maintenanceVerified

The Swissreg API is a managed, monitored endpoint for swissreg.ch — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when swissreg.ch 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 swissreg.ch 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
1d ago
Latest check
3/3 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
  • Retrieve full patent records including IPC/CPC classifications and holder details for IP research workflows.
  • Track the publication history of a Swiss patent by following publikationRefs URNs from get_patent_detail to get_publication_detail.
  • Monitor schutztitelstatus changes to identify when a Swiss patent lapses, is granted, or is opposed.
  • Extract inventor (ERFINDER) and holder (INHABER) data from registeradressen for competitive intelligence or due diligence.
  • Retrieve multilingual publication texts (de, en, fr, it) from publikationstexte for translation or legal review pipelines.
  • Enumerate available Swissreg database targets via get_targets to programmatically discover design or trademark registries.
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 Swissreg provide an official public developer API?+
Swissreg does not publish a documented public REST API for developers. Data access is provided through the Swissreg web interface at swissreg.ch.
What exactly does `get_patent_detail` return beyond the patent number?+
In addition to schutztitelnummer (e.g., CH720630), the endpoint returns the patent title (titel), current status (schutztitelstatus), arrays of IPC and CPC classification strings, a registeradressen object containing separate INHABER (holder) and ERFINDER (inventor) arrays, a URN identifier for the record, and an array of publikationRefs pointing to related publication records.
Can I search for patents by keyword or applicant name?+
Not currently. The search_patents endpoint is defined but blocked by the source site's request protection and returns 403. The API covers direct lookups via get_patent_detail using a known internal numeric ID. You can fork this API on Parse and revise it to add the missing search endpoint once the blocking condition changes.
Does the API return design or trademark records, not just patents?+
Not currently. get_patent_detail and get_publication_detail are scoped to patent records. get_targets shows that Swissreg also covers design and chmarke targets, but detail endpoints for those registry types are not included. You can fork this API on Parse and revise it to add endpoints for design or trademark lookups.
How do I navigate a patent's publication history using this API?+
Call get_patent_detail with a known patent_id to get the full patent record, which includes a publikationRefs array of URNs. Pass each URN (or the numeric portion) as a publication_id to get_publication_detail to retrieve individual publication events, including the change reason (aenderungsgrund), date (publikationsdatum), and multilingual publication texts.
Page content last updated . Spec covers 4 endpoints from swissreg.ch.
Related APIs in Government PublicSee all →
local.ch API
Search Swiss businesses and retrieve their contact details, addresses, phone numbers, opening hours, and website URLs directly from the local.ch directory. Look up companies by name, category, or location, and perform reverse phone number lookups.
toppreise.ch API
Search and compare product prices across Swiss retailers on Toppreise.ch, view detailed specifications, track price history, and discover the best shops for any item. Find exactly what you're looking for with comprehensive product details and real-time pricing information.
migros.ch API
Search and browse Migros' product catalog to find items by name or category, view detailed product information, and discover current promotional offers. Get everything you need to shop smarter at Switzerland's leading supermarket.
onapi.gov.do API
Search and retrieve detailed information about trademarks, patents, and institutional news from the Dominican Republic's National Industrial Property Office (ONAPI). Monitor trademark registrations, patent applications, expedient status updates, and browse available sign types and countries in their database.
comparis.ch API
Search and compare real estate listings, cars, and mortgage interest rates across the Swiss marketplace Comparis.ch with detailed filtering options and property/vehicle information. Get current mortgage rates and access comprehensive details on available properties and cars to make informed buying or financing decisions.
coop.ch API
Search and browse Coop.ch's entire product catalog, including detailed pricing, product information, and category organization. Find specific groceries, compare items across categories, and access up-to-date pricing data from Switzerland's Coop supermarket.
bundesanzeiger.de API
Search and retrieve official German business announcements, financial disclosures, and company filings from the Bundesanzeiger with full-text search and category filtering. Access detailed publication information and financial reports to monitor corporate announcements and regulatory filings.
pappers.fr API
Search French companies and directors to access detailed business profiles, ownership structures, trademark information, and legal filings all in one place. Build professional networks, track company leadership, and monitor business intelligence across France's official registry data.