Discover/Contribuinte API
live

Contribuinte APIcontribuinte.pt

Search Portuguese companies by name or NIF and retrieve registration status, address, and CAE economic activity codes via the contribuinte.pt API.

This API takes change requests — .
Endpoint health
verified 3h ago
get_company
search_companies
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the Contribuinte API?

The contribuinte.pt API gives developers access to Portuguese company registry data through 2 endpoints. Use search_companies to run full-text searches by company name or NIF and get back matching records with registered names and NIFs, or call get_company with a 9-digit NIF to retrieve a single company's registration status, full address, last-updated date, and CAE economic activity codes.

This call costs1 credit / call— charged only on success
Try it
Company name or NIF to search for.
api.parse.bot/scraper/17ba97c2-fecb-4eae-9f90-9cfbf1d67c6c/<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/17ba97c2-fecb-4eae-9f90-9cfbf1d67c6c/search_companies?query=Sonae' \
  -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 contribuinte-pt-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: contribuinte_pt_api SDK — bounded, re-runnable; every call capped."""
from parse_apis.contribuinte_pt_api import Contribuinte, CompanyNotFound

client = Contribuinte()

# Search for companies by name; limit= caps TOTAL items fetched.
for company in client.company_summaries.search(query="Sonae", limit=3):
    print(company.nif, company.name)

# Drill-down: take ONE summary, then get full details.
hit = client.company_summaries.search(query="Sonae", limit=1).first()
if hit:
    full = hit.details()
    print(full.name, full.status, full.address)

# Typed errors: wrap the fallible call, catch the specific class.
try:
    detail = client.companies.get(nif="999999999")
    print(detail.name)
except CompanyNotFound as e:
    print(f"not found: NIF {e.nif}")

print("exercised: company_summaries.search / CompanySummary.details / companies.get")
All endpoints · 2 totalmissing one? ·

Full-text search over Portuguese companies by name or NIF. Returns all matching companies with their NIF and registered name. Results are returned in a single page.

Input
ParamTypeDescription
queryrequiredstringCompany name or NIF to search for.
Response
{
  "type": "object",
  "fields": {
    "query": "the search term used",
    "total": "number of matching companies",
    "companies": "array of company summaries with nif, name, and url"
  },
  "sample": {
    "data": {
      "query": "Sonae",
      "total": 19,
      "companies": [
        {
          "nif": "505134730",
          "url": "https://contribuinte.pt/nif/505134730/sonae-industria-consultadoria-e-gestao-s-a",
          "name": "Sonae Indústria - Consultadoria E Gestão, S. A."
        },
        {
          "nif": "500273170",
          "url": "https://contribuinte.pt/nif/500273170/sonae-sgps-s-a",
          "name": "Sonae - Sgps, S.a."
        }
      ]
    },
    "status": "success"
  }
}

About the Contribuinte API

Endpoints and Data Coverage

The search_companies endpoint accepts a query string — either a company name fragment or a full NIF — and returns a total count alongside a companies array. Each entry in that array contains the company's nif, registered name, and a url. Results come back in a single page, so there is no cursor or pagination parameter.

Company Detail Fields

The get_company endpoint takes a single required parameter: a 9-digit nif (Portugal's NIF/NIPC tax identification number, e.g. 505134730). The response includes the company's name, status (for example, Activa), registered address, and an updated field showing when the record was last refreshed in DD/MM/YYYY format. CAE economic activity codes are returned when present in the registry record.

Scope and Freshness

Coverage is limited to Portuguese legal entities registered with a NIF/NIPC. The updated field in each company record reflects the date that specific entry was last modified in the underlying registry, not the timestamp of your API call. Because results are returned in a single page from search_companies, very broad name queries may return large result sets; using a more specific name or a full NIF keeps responses manageable.

Reliability & maintenanceVerified

The Contribuinte API is a managed, monitored endpoint for contribuinte.pt — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when contribuinte.pt 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 contribuinte.pt 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
3h ago
Latest check
2/2 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
  • Verify a Portuguese supplier's registration status before onboarding by checking the status field via get_company.
  • Enrich a CRM with registered addresses for Portuguese business contacts using the address field from get_company.
  • Classify Portuguese partners or vendors by economic sector using returned CAE activity codes.
  • Validate a NIF submitted in a checkout or KYC form by confirming it resolves to a named, active company.
  • Build a company search autocomplete backed by search_companies returning nif and name matches.
  • Monitor registry changes by periodically checking the updated date for a set of tracked NIFs.
  • Cross-reference invoice NIFs against official registry data to detect mismatches in company names.
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 contribuinte.pt provide an official developer API?+
Contribuinte.pt does not publish an official developer API or documented public endpoint. The data it presents reflects Portugal's public company registry, but there is no official API key program or developer portal offered by the site.
What does `search_companies` return and can results be paginated?+
The endpoint returns a query echo, a total count, and a companies array where each item includes nif, name, and url. All matching results are returned in one response — there are no pagination parameters such as page or offset.
Are CAE economic activity codes always present in `get_company` responses?+
CAE codes are returned when available in the registry record for that NIF. Some companies, particularly older or inactive registrations, may not have CAE data populated, so your code should handle the case where that field is absent or empty.
Does the API return historical company records or past addresses?+
Not currently. The API returns the current registered state of a company: its active name, status, address, updated date, and CAE codes. Historical records, previous addresses, or audit trails of status changes are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting historical registry data if that becomes available.
Can I look up individual Portuguese taxpayers (pessoas singulares) by NIF?+
The API covers legal entities (companies and other registered organisations) identified by NIF/NIPC. Individual citizen NIFs are not exposed — contribuinte.pt scopes its registry data to business entities. You can fork this API on Parse and revise it if you need to target a different Portuguese registry source that includes additional entity types.
Page content last updated . Spec covers 2 endpoints from contribuinte.pt.
Related APIs in B2b DirectorySee all →
nif.pt API
Search for Portuguese companies by name or NIF tax identification number to instantly retrieve their official business information. Find company details including registration status, legal data, and tax information to verify businesses or conduct due diligence.
páginasamarelas.pt API
Search for Portuguese businesses by name or category, browse Yellow Pages listings, and access detailed company information like contact details, addresses, and services. Find the right local business quickly with filters and comprehensive business profiles from Portugal's official business directory.
einforma.com API
Search for companies, self-employed individuals, and executives across Spain's business directory, then access detailed company profiles including financial and operational information. Perfect for business research, lead generation, and competitive intelligence.
developer.company-information.service.gov.uk API
Search for UK registered companies and retrieve detailed information including company profiles, officer names, and their dates of birth. Access comprehensive corporate records directly from the official Companies House register to verify business details and identify key personnel.
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.
sijilat.bh API
Search for and retrieve detailed information about registered companies in Bahrain, including their commercial registration data from the official Sijilat system. Find company profiles, registration details, and business information all in one place.
kbopub.economie.fgov.be API
Look up detailed information about Belgian companies including their official details, management structure, business activities, and legal capacities from the KBO/BCE public registry. Find key data like company names, directors, officers, and operational classifications to verify business credentials or conduct company research.
rekvizitai.vz.lt API
Search and access detailed information about Lithuanian companies, including their profiles, contact details, and multi-year financial records from the official rekvizitai.vz.lt directory. Get comprehensive company data to research business backgrounds, track financial history, and verify company details all in one place.