SpareSpare Docs
GuidesAPI Reference

Commercial Registration

Retrieve verified company registration and business details using a unified registration number.

Integration guide

Goal: Look up a company's official registration and business details by its unified registration number.

Estimated time: 20 minutes

Prerequisites

  • Sandbox credentials and an access token
  • The company's unified registration number
  • Your server IP whitelisted in the dashboard

When to use

  • Validate a company's authenticity before a partnership or transaction
  • Retrieve official registration status, ownership, contacts, and activities
  • Build company verification into onboarding or internal risk systems

What it returns

Request inputs

FieldDescription
unnThe company's unified registration number to look up

Response, a structured company record:

CategoryExamples
GeneralName, CR number, registration capital, issue date, liquidation status
Entity & statusLegal form, business entity type, current registration status
PartiesPartners / managers with identity, nationality, contribution amounts
OperationsContact info, activities (ISIC-aligned), e-commerce status, fiscal year
CapitalCurrency, cash / in-kind contributions, totals

Integration summary

Prepare access

Generate an API key, whitelist your server IP, and obtain a Bearer access token.

Look up by registration number

curl "https://sandbox.sparefinancial.sa/api/v2.0/av/CommercialRegistration/Information?unifiedNationalNumber=..." \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
const res = await fetch(
  "https://sandbox.sparefinancial.sa/api/v2.0/av/CommercialRegistration/Information?unifiedNationalNumber=...",
  {
    headers: {
      Authorization: `Bearer ${accessToken}`,
    },
  },
);

const record = await res.json();
import requests

res = requests.get(
    "https://sandbox.sparefinancial.sa/api/v2.0/av/CommercialRegistration/Information",
    params={"unifiedNationalNumber": "..."},
    headers={
        "Authorization": f"Bearer {access_token}",
    },
)

record = res.json()
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://sandbox.sparefinancial.sa/api/v2.0/av/CommercialRegistration/Information?unifiedNationalNumber=..."))
    .header("Authorization", "Bearer " + accessToken)
    .GET()
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

String record = response.body();
using System;
using System.Net.Http;
using System.Threading.Tasks;

using var client = new HttpClient();

var request = new HttpRequestMessage(
    HttpMethod.Get,
    "https://sandbox.sparefinancial.sa/api/v2.0/av/CommercialRegistration/Information?unifiedNationalNumber=...");
request.Headers.Add("Authorization", $"Bearer {accessToken}");

var response = await client.SendAsync(request);

var record = await response.Content.ReadAsStringAsync();
package main

import (
	"io"
	"net/http"
)

req, err := http.NewRequest(
	http.MethodGet,
	"https://sandbox.sparefinancial.sa/api/v2.0/av/CommercialRegistration/Information?unifiedNationalNumber=...",
	nil,
)
if err != nil {
	panic(err)
}

req.Header.Set("Authorization", "Bearer "+accessToken)

res, err := http.DefaultClient.Do(req)
if err != nil {
	panic(err)
}
defer res.Body.Close()

record, _ := io.ReadAll(res.Body)

Parse the record

Read the structured company details. Handle errors, 404 for not found, 401 for auth failures.

Key takeaways

  • Returns a company's full official record from a single unified registration number.
  • Covers general details, legal entity + status, partners/managers, operations, and capital.
  • Whitelist your server IP; handle 404 (not found) and 401 (auth) explicitly.

On this page