Overview
OpenCorporates offers an API that provides programmatic access to its extensive database of company and officer data, aggregated from official government sources worldwide. This platform aims to create a public record of companies and the people who own and control them, supporting transparency and accountability. The API is designed for developers and technical buyers who need to integrate global corporate data into their applications, systems, or research.
The core utility of the OpenCorporates API lies in its ability to retrieve structured information about legal entities, including basic registration details, past and present officers, and links to original source documents where available. This data can be instrumental for various use cases, particularly those requiring reliable, verifiable information about businesses operating across different jurisdictions. For example, financial institutions can use the API for know-your-customer (KYC) and anti-money laundering (AML) compliance by cross-referencing company details and identifying beneficial owners. Investigative journalists and researchers often utilize the dataset to uncover corporate networks, track corporate ownership structures, and identify potential conflicts of interest. Supply chain managers can also employ the API to vet suppliers, assess their legitimacy, and monitor changes in their corporate status, contributing to supply chain resilience and ethical sourcing practices.
OpenCorporates collects data from various company registries, business databases, and other official sources globally. This aggregation makes it a centralized resource for information that might otherwise be fragmented across hundreds of individual government websites and databases. The API handles the complexities of data standardization across different national and regional reporting formats, providing a more uniform presentation for developers. However, users should be aware that the depth and timeliness of data can vary by jurisdiction, reflecting the underlying public records available. The API documentation provides details on data coverage and limitations to assist developers in understanding the scope of available information for different countries, which is important for comprehensive data integration planning.
Key features
- Global Company Data Access: Provides information on over 200 million companies worldwide, aggregated from official sources. This includes registration numbers, company types, addresses, and status (active, dissolved, etc.).
- Officer Data: Access to details about company officers, including directors, secretaries, and other key personnel. This often includes names, roles, and associated companies.
- Corporate Filings and Events: Retrieval of data related to company filings, annual returns, and significant corporate events, offering insights into a company's lifecycle and compliance history.
- Search and Filter Capabilities: Supports searching for companies and officers by name, registration number, address components, and other criteria. Filtering options allow for granular data retrieval based on jurisdiction, status, and date ranges.
- Structured Data Formats: Data is delivered in structured JSON or XML formats, enabling straightforward parsing and integration into applications.
- API Documentation with Examples: The OpenCorporates API documentation includes code examples in multiple programming languages (Python, Ruby, PHP, Node.js) to facilitate developer onboarding.
- Data Freshness Indicators: The API provides information on when data was last updated or verified, helping users assess the timeliness of the information received which is crucial for due diligence applications.
Pricing
OpenCorporates offers a tiered pricing model, including a free tier for light usage and escalating paid plans based on API call volume. As of May 2026, the pricing details are as follows:
| Plan | Monthly API Calls | Price Per Month (USD) | Features |
|---|---|---|---|
| Free | 1,000 | $0 | Basic API access for testing and light usage |
| Starter | 50,000 | $150 | Increased call volume, suitable for small projects |
| Developer | 250,000 | $400 | Higher call volume, priority support |
| Professional | 1,000,000 | $1,000 | High volume, dedicated support, more extensive data access |
| Enterprise | Custom | Custom | Tailored solutions for very high volume and specific data needs |
For the most current pricing information and detailed feature breakdowns per plan, refer to the official OpenCorporates API pricing page.
Common integrations
The OpenCorporates API is typically integrated into systems that require external validation of company data or tools for business intelligence. Common integration patterns include:
- CRM Systems: Enriching customer relationship management platforms with verified company details to improve data accuracy and provide a holistic view of business clients.
- Compliance Platforms: Integrating with KYC (Know Your Customer) and AML (Anti-Money Laundering) software to automate checks against global company registries and identify beneficial ownership. For instance, platforms like Akoya provide a secure data network for financial institutions that could integrate such data for enhanced compliance reporting, as detailed in their data retrieval solutions documentation.
- Business Intelligence Dashboards: Feeding corporate data into BI tools like Tableau or Power BI to create visualizations and reports for market analysis, competitive intelligence, or supply chain risk assessment.
- ERP Systems: Validating vendor and partner information within Enterprise Resource Planning systems to maintain data integrity and support procurement processes.
- Investigative Tools: Powering platforms used by journalists, law enforcement, or non-governmental organizations for mapping corporate structures and investigating illicit financial flows.
- Supply Chain Management Software: Automating checks on supplier legitimacy and corporate status within supply chain systems to mitigate risks and ensure adherence to policies.
Alternatives
- Clearbit: Offers B2B data enrichment and lead intelligence, focusing on firmographics and contact data for sales and marketing.
- ZoomInfo: Provides extensive business contact and company information, primarily for sales, marketing, and recruiting efforts.
- Dun & Bradstreet: A long-established provider of commercial data, analytics, and insights for risk assessment, sales, and marketing.
Getting started
To begin using the OpenCorporates API, you will need an API key. After signing up on the OpenCorporates website, you can generate your key from your account dashboard. The API uses a RESTful interface, and requests are typically made to specific endpoints with your API key appended as a query parameter. Below is a Python example demonstrating how to retrieve basic information for a company by its registration number.
import requests
import json
API_KEY = "YOUR_API_KEY_HERE"
COMPANY_NUMBER = "08727192" # Example: OpenCorporates UK company number
JURISDICTION_CODE = "gb" # Example: Great Britain
url = f"https://api.opencorporates.com/v0.4/companies/{JURISDICTION_CODE}/{COMPANY_NUMBER}"
params = {
"api_token": API_KEY
}
try:
response = requests.get(url, params=params)
response.raise_for_status() # Raise an exception for HTTP errors (4xx or 5xx)
company_data = response.json()
# Print some relevant details
if company_data and "results" in company_data:
company_info = company_data["results"]["company"]
print(f"Company Name: {company_info.get('name')}")
print(f"Company Type: {company_info.get('company_type')}")
print(f"Current Status: {company_info.get('current_status')}")
print(f"Registered Address: {company_info.get('registered_address_in_full')}")
print(f"Incorporation Date: {company_info.get('incorporation_date')}")
else:
print("No company data found or unexpected response format.")
except requests.exceptions.HTTPError as http_err:
print(f"HTTP error occurred: {http_err} - {response.text}")
except requests.exceptions.ConnectionError as conn_err:
print(f"Connection error occurred: {conn_err}")
except requests.exceptions.Timeout as timeout_err:
print(f"Timeout error occurred: {timeout_err}")
except requests.exceptions.RequestException as req_err:
print(f"An unexpected error occurred: {req_err}")
except json.JSONDecodeError:
print(f"Failed to decode JSON from response: {response.text}")
This Python script uses the requests library to make a GET request to the OpenCorporates API. It fetches data for a specified company number within a given jurisdiction. The response, if successful, is parsed as JSON, and key company details are extracted and printed. Remember to replace "YOUR_API_KEY_HERE" with your actual API token.