Company Ownership Search API
Search through 4.3 million UK property ownership records from the Commercial and Corporate Ownership Dataset
Overview
The Company Ownership Search API provides access to the UK's Commercial and Corporate Ownership Dataset, containing over 4.3 million property ownership records. This dataset tracks properties owned by companies, LLPs, and other corporate entities across England and Wales.
This API provides access to:
- Company name and registration number searches
- Property address lookups
- Land Registry title number searches
- Corporate property ownership data
- Purchase prices and transaction details
- Proprietor addresses and company details
Key Features:
- Comprehensive Search: Search by company name, registration number, property address, or title number
- Detailed Records: Full property and ownership information including prices paid
- Real-time Data: Access to the latest available commercial ownership data
- Flexible Pagination: Control result set size and pagination
- Credit-based Billing: Pay only for successful searches that return results
Data Source
This API uses the official Commercial and Corporate Ownership Dataset from HM Land Registry, updated regularly to provide current ownership information.
Authentication
All requests to the Company Ownership Search API require authentication using an API key. You can obtain your API key from your PropertyInsights dashboard after subscribing to an API plan.
Include your API key in the request header as follows:
X-API-Key: your_api_key_here
Security Warning
Endpoints
/api/v1/company-ownership/searchSearch company ownership records by various criteria
Base URL
https://propertyinsights.co.uk/api/v1/company-ownership/search
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| term | string | Required | The search term (minimum 2 characters, 4+ for names/addresses) |
| type | string | Optional | Search type: company_name (default), company_number, address, title_number |
Billing details in the response
Successful chargeable JSON responses include a top-level billing object. The endpoint examples on this page focus on the endpoint-specific data, so this repeated block may not be shown in every example.
"billing": {
"mode": "prepaid",
"creditsCharged": 1,
"creditsRemaining": 1999,
"creditsRefreshAt": "2026-08-14T09:30:00.000Z"
}| Field or header | Meaning |
|---|---|
| billing.creditsCharged X-Credits-Charged | Credits charged by this call. Failed and non-chargeable calls return 0 in the header. |
| billing.creditsRemaining X-Credits-Remaining | The credit balance after the call. |
| billing.creditsRefreshAt X-Credits-Refresh-At | The next monthly credit refresh as an ISO 8601 timestamp. Trial and non-renewing balances return null and omit the header. |
All authenticated API-key calls expose the billing headers, including validation errors and zero-credit status or management requests. Only successful chargeable JSON responses add the billing object to the response body.
Response Format
All API responses follow this structure:
{
"success": true,
"data": {
"results": [
{
"id": "12345",
"title_number": "AB123456",
"tenure": "Freehold",
"property_address": "123 EXAMPLE STREET, LONDON",
"district": "LONDON BOROUGH OF EXAMPLE",
"county": "GREATER LONDON",
"region": "LONDON",
"postcode": "SW1A 1AA",
"multiple_address_indicator": "N",
"price_paid": 1500000,
"proprietor_name": "EXAMPLE PROPERTY LTD",
"company_registration_number": "12345678",
"proprietorship_category": "Limited Company or Public Limited Company",
"country_incorporated": "UNITED KINGDOM",
"proprietor_address": "456 BUSINESS PARK, LONDON SW1A 1BB"
}
],
"search": {
"term": "EXAMPLE PROPERTY",
"type": "company_name",
"results_count": 1,
"max_results": 50
}
}
}Examples
Search by Company Name
curl -X GET "https://propertyinsights.co.uk/api/v1/company-ownership/search?term=ACME%20PROPERTIES&type=company_name" \ -H "x-api-key: your-api-key-here"
Search by Company Registration Number
curl -X GET "https://propertyinsights.co.uk/api/v1/company-ownership/search?term=12345678&type=company_number" \ -H "x-api-key: your-api-key-here"
Search by Property Address
curl -X GET "https://propertyinsights.co.uk/api/v1/company-ownership/search?term=Oxford%20Street%20London&type=address" \ -H "x-api-key: your-api-key-here"
Search by Title Number
curl -X GET "https://propertyinsights.co.uk/api/v1/company-ownership/search?term=AB123456&type=title_number" \ -H "x-api-key: your-api-key-here"
Error Handling
The API uses standard HTTP response codes and returns detailed error information in JSON format. All errors follow a consistent structure to help you handle them appropriately in your application.
| HTTP Code | Error Code | Description |
|---|---|---|
| 400 | MISSING_SEARCH_TERM | Search term parameter is required |
| 400 | INVALID_SEARCH_TYPE | Search type must be company_name, company_number, address, or title_number |
| 400 | SEARCH_TERM_TOO_SHORT | Search term must meet minimum length requirements (2+ chars, 4+ for names/addresses) |
| 400 | SEARCH_TERM_TOO_GENERAL | Common terms require longer, more specific search queries (12+ characters) |
| 401 | AUTHENTICATION_REQUIRED | Valid API key is required |
| 402 | INSUFFICIENT_CREDITS | Not enough API credits remaining to perform operation |
| 500 | DATABASE_ERROR | Error accessing database - please try again |
| 500 | INTERNAL_SERVER_ERROR | An unexpected error occurred |
Error Response Format
{
"success": false,
"error": {
"code": "SEARCH_TERM_TOO_SHORT",
"message": "Name and address searches require at least 4 characters."
}
}Handling Search Performance
To maintain optimal performance, searches for very common terms (like "PROPERTY", "LIMITED", "COMPANY") require more specific queries. This helps ensure fast response times for all users.
Rate Limits
API requests are subject to rate limiting based on your subscription plan. The current limits are:
| Plan | Requests per Minute | Requests per Day | Requests per Month |
|---|---|---|---|
| Basic | 10 | 500 | 5,000 |
| Standard | 30 | 2,000 | 30,000 |
| Premium | 100 | 5,000 | 100,000 |
| Enterprise | Custom | Custom | Custom |
When you exceed your rate limit, the API will return a 429 Too Many Requests response. Each response includes the following headers to help you track your usage:
X-RateLimit-Limit: [requests-per-minute limit] X-RateLimit-Remaining: [requests remaining in current window] X-RateLimit-Reset: [timestamp when limit resets]
Search Performance Guidelines
To maintain sub-second response times across our 4.3 million record database, searches for very common terms require longer, more specific queries:
- Common terms like "PROPERTY", "LIMITED", "COMPANY" require 12+ characters
- Company name and address searches require minimum 4 characters
- Company number and title number searches require minimum 2 characters
- Results are automatically capped at 50 properties per search for optimal performance
Cost Efficiency Tips
Maximise your API credits with these best practices:
- Test searches with specific terms to avoid no-result queries
- Use specific search queries to get more targeted results
- Cache frequently accessed company information
- Implement debouncing for user input to reduce API calls
Need Help?
If you have questions about the Company Ownership Search API or need assistance with implementation, our team is here to help.
Contact Support