Header image

It's full of stars

Where documentation meets reality


Public API for company search

By Tobias Hofmann April 2, 2026 Posted in SAP
Tags: SAP

Reading time: 4 min read


Sometimes it might be nice to have a public available service that offers company related information, like name, adress, country or DUNS. Turns out SAP runs such a service.

While I was trying to log on to an SAP website, I had to confirm my location - several times. At one of the many logon and data confirmation screens I had to enter a company. I started typing the first letter and … the input field presented me with a list of suggestions.

Input field with list of suggested company names

Interesting.

I tried other letters and it works. Instantly you get a list of suggested companies. I tried a few well known companies like Siemens, BASF, BMW: all are listed.

SiemensBASFVW
SiemensBASFVW

Looking at the network trace a call to companies is made every time the text in the input field changes.

Network trace

The API called is https://forms.services.sap.com/api/companies

The payload is simple.

payload

{
  "companyName":"Volks",
  "countryCode":"DE"
}

The answer received is the list of companies shown as a suggestion for input.

json response

[
    {
        "city": "Wolfsburg",
        "country_code": "DE",
        "postal_code": "38440",
        "state_province": "Niedersachsen",
        "region_code": "03",
        "address": "Berliner Ring 2",
        "duns": "315016295",
        "cr_id": 343922424,
        "name": "VOLKSWAGEN AG",
        "crystalrecordlastupdatedon": "2026-03-24T23:33:30.000Z",
        "relevancy_score": "92.22",
        "lcase_name": "volkswagen ag"
    },
  ...

Public API

Calling the API Endpoint in the browser gives an HTTP error.

https://forms.services.sap.com/api/companies 🔗

403

Sending a valid payload is needed.

Using the REST client for VS Code a sample request can be:

POST https://forms.services.sap.com/api/companies
Content-Type: application/json

{
    "companyName": "S", 
    "countryCode": "DE"
}

rest sample answer

i18n

In case you wonder why the input suggestions have problems with Umlaute - Example search for Daimler: Baden-wurttemberg. This is as returned by the API. Looking at Wikipedia, seems that the English word für Baden-Württemberg is Baden-Württemberg. No translated version like there is for Rhineland-Palatinate or Bavaria. The spelling contains another error, as the W is w. It is Baden-Württemberg not Baden-wurttemberg. Maybe a master data management tool could help.

Daimler

You can search using Umlaute like ü. The service returns the correct result. Just without ü in the response. Which makes it somehow complicated to use the data of the service. If you work for the Münchener Ruckversicherungs-Gesellschaft AG you’ll have to live with the response and work for Munchener Ruckversicherungs-Gesellschaft AG instead of Munich Reinsurance Company. The translation in place seems to be to respond in plain ASCII.

München

Data source

Additional informations shared are the region, the DUNS and … a cr_id and crystalrecordlastupdatedon. Seems that the data is retrieved from a Crystal Report dataset? At least you can find out the last time the dataset was updated from the timestamp provided by crystalrecordlastupdatedon.

SAP customers?

I have no idea what the underlying data source is that the API is using. I guess it might be customer related. Of course you find all the big companies in there. You can adjust the contryCode property and search for companies around the world: US, BR, FR, GB, …

Brewdog

Maybe in the background it is using Google Maps? The hints to Crystal Reports however indicate this is an SAP provided list. I tried it out with small, local companies and not all show up. As not all companies are listed, I guess it must be a list of curated (?) companies. Maybe it is just the ones SAP has as a business partner added somewhere? The data is also not up-to-date. For my company, it returns an outdated address. The same address however is updated at the DUNS search service.

Usage

It is an API that can be accessed without authentication. All you need is a valid payload. The API returns a small set of matching companies.

If you want to know what companies in your region are propably SAP customers, this can serve as a starting point. If you want to have a service to get the DUNS for a company: the service returns the DUNS. If you know a company name, but not the address: search no further.