# Using the Changes endpoint
The Changes endpoint tracks changes to company data, such as new financial statements, updated telephone numbers, role changes, and shareholder changes.
You may want to update a company in your system only when its information has changed.
For a small number of companies, the simplest approach is to store the fields you need, such as name, phoneNumber, and address. You can then periodically retrieve each company by organization number using:
/api/companies/register/{country}/{id}
Compare the returned values with the values stored in your system. You can schedule this process to run daily or weekly.
This approach works well when monitoring a relatively small number of companies, such as fewer than 5,000. For larger datasets, requesting every company individually does not scale efficiently.
In these cases, use the Changes endpoint to identify which companies have changed before retrieving their updated information.
# Background
To understand how the Changes endpoint works, it is helpful to know how company data is processed.
We collect company information from several sources and combine it into a single document for each company. The document is indexed and made searchable. It forms the basis of the information returned by the Proff API and displayed on Proff.no.
This process usually runs once per day, although it may occasionally run more frequently.
# Step 1: Indexing

After indexing is complete, another process compares the new version of each company document with the previous version and records any changes.
Each resulting change record is called a ChangedEntity. It contains:
- The company ID, corresponding to the organization number
- The date and time when the change record was created
- A
patchIdthat uniquely identifies the change record
# Step 2: Changes

# Basic Changes request
The following example retrieves recent changes for Norwegian companies:
curl \
-H 'Authorization: Token <YOUR_API_KEY>' \
https://api.proff.no/api/changes/register/NO
By default, the endpoint returns companies that have been established, removed, or updated within the last day.
See the detailed API documentation (opens new window) for available parameters and response details.
# Scrolling
A request may return more than 10,000 changed entities, particularly when using the since parameter to retrieve changes over a longer period.
Standard pagination cannot retrieve results beyond the first 10,000 documents. The Changes endpoint therefore uses scrolling to retrieve larger result sets.
Each request returns up to 1,000 changed documents. Use numberOfHits to determine the total number of available results.
When more results are available, the response contains a link with rel set to next. Follow the URL in its href property to retrieve the next batch:
{
"numberOfHits": 68365,
"changedDocs": [
{
"id": "810059672",
"patch": null,
"createdDate": 1623565471312,
"patchId": "26c6c1accb988e4bae243594a1dd6dd001434bacc6746d28e7a858f3b59008ea"
}
],
"link": {
"href": "https://api.proff.no/changes/register/NO?scrollId=DnF1ZXJ5VGhlbkZldGNoAwAAAAAbe5vMFkpweklhMTV2UUlhbU82VEhlaHJ0QncAAAAAG",
"rel": "next"
}
}
Continue following the next link until changedDocs is an empty array. An empty array indicates that there are no more results to retrieve.