Discover/Sijilat API
live

Sijilat APIsijilat.bh

Search and retrieve Bahrain commercial registration data via the Sijilat API. Access company details, partners, activities, and authorized signatories.

This API takes change requests — .
Endpoint health
verified 1d ago
get_company_details
search_companies
2/2 passing latest checkself-healing
Endpoints
2
Updated
1d ago

What is the Sijilat API?

The Sijilat.bh API provides access to Bahrain's commercial registration system through 2 endpoints, returning company registration status, business activities with ISIC4 codes, partner details, and authorized signatories. The search_companies endpoint lets you query by company name or CR number with paginated results, while get_company_details returns the full registration record including address, amendment history, and signatory authority levels.

Try it
Page number for pagination (1-based).
Company name to search for in English (e.g. 'bank', 'trading'). At least one of query or cr_number must be provided.
Commercial Registration number to search for (e.g. '220'). At least one of query or cr_number must be provided.
Number of results per page.
api.parse.bot/scraper/b9d3434a-e7b2-4eda-87d6-bed6d57f62a6/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X POST 'https://api.parse.bot/scraper/b9d3434a-e7b2-4eda-87d6-bed6d57f62a6/search_companies' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "page": "1",
  "query": "bank",
  "cr_number": "220",
  "page_size": "10"
}'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace sijilat-bh-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: sijilat_bh_api SDK — bounded, re-runnable; every call capped."""
from parse_apis.sijilat_bh_api import Sijilat, ParseError

client = Sijilat()

# Search for companies by name
for company in client.companies.search(query="bank", limit=3):
    print(company.commercial_name_en, company.status, company.cr_number)

# Drill down into a specific company's full details
company = client.companies.search(query="bank", limit=1).first()
try:
    details = company.details()
    print(details.company_summary.commercial_name_en, details.company_summary.cr_type)
    print(details.commercial_address.town, details.commercial_address.phone)
    for activity in details.business_activities:
        print(activity.isic4_code, activity.activity_name)
except ParseError as e:
    print(f"Error: {e.code}")

# Search by CR number
for company in client.companies.search(cr_number="220", limit=3):
    print(company.cr_number, company.commercial_name_en, company.company_type)

print("exercised: companies.search, company.details")
All endpoints · 2 totalmissing one? ·

Search for Bahrain-based companies by commercial name (English) or CR number. Returns paginated results with summary information for each matching company including registration status, type, and activities. Results are auto-iterated across pages.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based).
querystringCompany name to search for in English (e.g. 'bank', 'trading'). At least one of query or cr_number must be provided.
cr_numberstringCommercial Registration number to search for (e.g. '220'). At least one of query or cr_number must be provided.
page_sizeintegerNumber of results per page.
Response
{
  "type": "object",
  "fields": {
    "page": "integer — current page number",
    "companies": "array of company summary objects",
    "page_size": "integer — results per page",
    "total_records": "integer — total number of matching companies"
  },
  "sample": {
    "data": {
      "page": 1,
      "companies": [
        {
          "cr_no": "220",
          "status": "ACTIVE",
          "branch_no": "1",
          "cr_number": "220-1",
          "activities": "Banks - Conventional Retail Banks - Foreign Branch",
          "company_type": "Branch of a Foreign Company",
          "expiration_date": "04/01/2027",
          "registration_date": "04/04/1961",
          "commercial_name_ar": "البنك العربي ش.م.ع",
          "commercial_name_en": "ARAB BANK PLC"
        }
      ],
      "page_size": 10,
      "total_records": 563
    },
    "status": "success"
  }
}

About the Sijilat API

Searching the Bahrain CR Registry

The search_companies endpoint accepts either a query string (English company name, e.g. 'bank' or 'trading') or a cr_number, with at least one required. Results are paginated using page and page_size parameters. Each response includes total_records, the current page, and a companies array of summary objects covering registration status, company type, and activities. This is the starting point for getting the cr_no and branch_no values needed for detailed lookups.

Retrieving Full Company Records

The get_company_details endpoint takes a cr_no (required) and optional branch_no — both obtained from search_companies results — and returns a structured record with six main sections. company_summary holds core fields like names in both scripts, company type, registration status, and key dates. commercial_address includes building, road, block, town, and contact information. business_activities lists each activity with its ISIC4 code and description.

Partners, Signatories, and History

company_partners returns an array of partner objects with names and nationality. authorized_signatories includes each signatory's name, nationality, and authority level — useful for due diligence workflows. amendment_history provides the last 10 amendment records for a given CR, giving a recent change log without requiring access to the full historical archive.

Reliability & maintenanceVerified

The Sijilat API is a managed, monitored endpoint for sijilat.bh — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sijilat.bh changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official sijilat.bh API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Verify Bahrain company registration status and type before entering a business relationship
  • Retrieve ISIC4-coded business activities to classify companies by sector for market research
  • Extract authorized signatory names and authority levels for KYC and compliance screening
  • Enumerate company partners and their nationalities for ownership structure analysis
  • Monitor amendment history to detect recent structural or ownership changes in a CR
  • Build a Bahrain business directory by bulk-searching names or CR number ranges
  • Cross-reference commercial addresses for geographic analysis of registered businesses
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Sijilat have an official developer API?+
Sijilat does not publish a documented public developer API. The Parse Sijilat.bh API is the structured programmatic interface for accessing this commercial registration data.
What does `get_company_details` return beyond what `search_companies` provides?+
search_companies returns summary-level data: registration status, company type, and activities at a high level. get_company_details returns the full record — commercial_address with building/road/block/town, business_activities with ISIC4 codes, company_partners with nationalities, authorized_signatories with authority levels, and amendment_history covering the last 10 amendments.
Does the API cover branches separately from the main CR?+
Yes. get_company_details accepts a branch_no parameter alongside cr_no, allowing you to retrieve records for specific branches of a company. Both values are surfaced in search_companies results.
Does the API return financial statements or capital amounts for registered companies?+
Not currently. The API covers registration metadata, addresses, business activities, partners, signatories, and amendment history. Financial statements and capital figures are not part of the returned data. You can fork this API on Parse and revise it to add an endpoint targeting that data if it becomes accessible.
How far back does the amendment history go?+
The amendment_history field in get_company_details returns the last 10 amendment records for a given CR. Earlier amendments are not currently included in the response. You can fork the API on Parse and revise it to extend historical coverage if a deeper record set is needed.
Page content last updated . Spec covers 2 endpoints from sijilat.bh.
Related APIs in Government PublicSee all →
developer.company-information.service.gov.uk API
Search for UK registered companies and retrieve detailed information including company profiles, officer names, and their dates of birth. Access comprehensive corporate records directly from the official Companies House register to verify business details and identify key personnel.
allabolag.se API
Search and retrieve detailed information about Swedish companies, including their industry classifications and historical financial records from annual reports. Access comprehensive company profiles to analyze financial performance and business data for any registered Swedish business.
kbopub.economie.fgov.be API
Look up detailed information about Belgian companies including their official details, management structure, business activities, and legal capacities from the KBO/BCE public registry. Find key data like company names, directors, officers, and operational classifications to verify business credentials or conduct company research.
companieshouse.gov.uk API
Search for UK companies and officers, then access detailed information including company profiles, filing history, charges, and officers with significant control. Get comprehensive corporate records and appointment details all in one place.
bcorporation.net API
Access data from bcorporation.net.
opencorporates.com API
Access comprehensive company registration data, officer details, and filing histories from OpenCorporates across jurisdictions worldwide to research businesses and their leadership. Search for specific companies or officers, retrieve detailed corporate information, and explore filing records to support due diligence, compliance checks, and business intelligence.
find-and-update.company-information.service.gov.uk API
Search and access detailed information about UK companies registered at Companies House, including company profiles, filing histories, officers, and financial charges. Filter companies by name, status, type, SIC code, and more.
bizapedia.com API
Search for detailed business profiles and contact information from Bizapedia, including company details, employee data, and communication channels. Access comprehensive business intelligence to research companies and build targeted contact lists.