Discover/nif API
live

nif APInif.pt

Search and retrieve Portuguese company data by name or NIF tax number. Get company name, NIF, and registered location via 2 simple endpoints.

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

What is the nif API?

The nif.pt API gives developers access to Portuguese company records through 2 endpoints: search_companies for name-based searches and get_company for direct NIF lookups. Each response returns structured fields including the 9-digit NIF, registered company name, and postal location. It covers companies registered in Portugal and is suited for business verification, data enrichment, and due-diligence workflows.

This call costs1 credit / call— charged only on success
Try it
Company name or partial name to search for.
api.parse.bot/scraper/471eb2aa-f1ff-487d-818c-76243e8fe6ba/<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/471eb2aa-f1ff-487d-818c-76243e8fe6ba/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 nif-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: NIF.PT SDK — bounded, re-runnable; every call capped."""
from parse_apis.nif_pt_api import NifPt, CompanyNotFound

client = NifPt()

# Search companies by name
for company in client.companies.search(query="sonae", limit=3):
    print(company.name, company.nif, company.location)

# Get a specific company by NIF
try:
    detail = client.companies.get(nif="506467473")
    print(detail.name, detail.nif, detail.location)
except CompanyNotFound as e:
    print(f"Company not found: {e.nif}")

print("exercised: companies.search, companies.get")
All endpoints · 2 totalmissing one? ·

Search Portuguese companies by name. Returns all matching companies with their NIF, name, and location. A single page of results is returned per query.

Input
ParamTypeDescription
queryrequiredstringCompany name or partial name to search for.
Response
{
  "type": "object",
  "fields": {
    "companies": "array of company results with nif, name, and location"
  },
  "sample": {
    "data": {
      "companies": [
        {
          "nif": "506440613",
          "name": "Sonae Holdings, S.a",
          "location": "4470-177 Maia"
        },
        {
          "nif": "509736530",
          "name": "Sonae Corporate, S.a",
          "location": "4470-177 Maia"
        }
      ]
    },
    "status": "success"
  }
}

About the nif API

Endpoints and Data Coverage

The API exposes two endpoints for querying the Portuguese company registry. search_companies accepts a query parameter — a full or partial company name — and returns an array of matching companies, each with their nif, name, and location. This is useful when you have a business name but need the corresponding tax identification number. get_company takes a 9-digit nif string and returns the canonical record for that specific company: its nif, name, and location (postal code and city).

Response Shape

Both endpoints return the same core fields: nif (9-digit string), name (registered company name), and location (postal code plus city). The search_companies endpoint wraps results in a companies array, so a single call can surface multiple matches when a name query is ambiguous. The get_company endpoint returns a single flat object when the NIF is found.

Pagination and Scope

search_companies returns a single page of results per query. There is no cursor or offset parameter, so results are limited to what nif.pt returns for that query string. Coverage is scoped to Portuguese entities with a valid NIF — individuals and foreign entities without a Portuguese tax number are not represented.

Reliability & maintenanceVerified

The nif API is a managed, monitored endpoint for nif.pt — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nif.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 nif.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
2h 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 NIF before processing a B2B invoice.
  • Enrich a CRM record by resolving a company name to its official registered name and postal location.
  • Cross-check NIF numbers submitted in vendor onboarding forms against the official registry.
  • Build an autocomplete lookup for Portuguese company names using the search_companies query parameter.
  • Validate that a given 9-digit NIF maps to a real, named entity via get_company.
  • Deduplicate company records by resolving variant name spellings to a canonical NIF.
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 nif.pt have an official developer API?+
nif.pt does not publish a documented public developer API. This Parse API provides structured access to the company data nif.pt exposes.
What does `get_company` return for a given NIF?+
get_company returns three fields: nif (the 9-digit tax identification number), name (the registered company name), and location (postal code and city). It does not return incorporation dates, directors, financial filings, or legal status.
How many results does `search_companies` return, and can I paginate?+
The endpoint returns a single page of results for a given query string. There is no pagination parameter (no page, offset, or cursor). If you need deeper results, you would need to refine the query string. You can fork this API on Parse and revise it to add a pagination parameter if the underlying source supports it.
Does the API return company registration status, financial data, or director names?+
Not currently. Both endpoints cover nif, name, and location only. Registration status, shareholder details, financial statements, and director information are not included in the response. You can fork this API on Parse and revise it to add those fields if nif.pt surfaces them for specific lookups.
Does the API cover individual taxpayers (NIF for persons) in addition to companies?+
The endpoints are scoped to company records. Individual Portuguese taxpayer NIFs are not covered by this API. You can fork it on Parse and revise to target personal NIF data if needed.
Page content last updated . Spec covers 2 endpoints from nif.pt.
Related APIs in B2b DirectorySee all →
contribuinte.pt API
Access data from contribuinte.pt.
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.
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.
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.
regnskapstall.no API
Search Norwegian companies and retrieve their financial statements, ownership details, roles, competitors, and regulatory announcements all in one place. Get comprehensive company overviews including registration data and financial metrics to research businesses and track new market entries.
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.
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.