OrbTop

Bahrain Company Registry Scraper

BUSINESSLEAD GENERATIONAUTOMATION

Bahrain Company Registry Scraper — sijilat.bh

Scrape commercial registrations from the 180,000+ entities in sijilat.bh — the official Bahrain Ministry of Industry and Commerce (MOIC) eGovernment portal. Search by company name (English or Arabic), CR number, or registration status. Returns full company profiles including address, capital structure, shareholders, registered business activities, and contact details.

What does the Bahrain Company Registry Scraper do?

At least one of searchNameEn, searchNameAr, or crNumber must be provided. The actor returns no results without a search term — this matches how the sijilat.bh portal operates. Once a search is issued, the actor paginates across all result pages and optionally fetches full detail profiles (address, capital, shareholders) per company record.

Authentication uses a public HMAC token embedded in the site's JavaScript — no account or API key is needed.

What data does it extract?

Field Description
cr_number Commercial Registration number
branch_number Branch number (1 = head office)
legal_name_en Company name in English
legal_name_ar Company name in Arabic
company_type Legal entity type (e.g. With Limited Liability Company, Partnership Company)
nationality Company nationality: BAHRAINI, GCC, or FOREIGN
status Registration status: ACTIVE, EXPIRED, CANCELLED, SOLD OR LEGAL STATUS CHANGED
registration_date Date of commercial registration (DD/MM/YYYY)
expiry_date Registration expiry date (DD/MM/YYYY)
business_activities Registered activities, pipe-separated
address_building Building number
address_road Road number
address_road_name Road name
address_block Block number
address_town Town/area name
po_box P.O. Box
phone Primary phone number
fax Fax number
email Contact email address
website Corporate website URL
authorized_capital Authorized capital amount
issued_capital Issued capital amount
currency Capital currency code
shareholders Array of shareholder entries formatted as Name (Nationality) — shares: N
shareholders_count Number of shareholders or partners
source_url Direct link to the company detail page on sijilat.bh

Address, capital, and shareholder fields are populated only when fetchDetails: true (the default).

How to use it

{
  "searchNameEn": "trading",
  "companyStatus": "ACTIVE",
  "fetchDetails": true,
  "maxItems": 100
}
{
  "crNumber": "12345",
  "fetchDetails": true,
  "maxItems": 1
}
Field Type Default Description
searchNameEn string English company name search (min 2 chars, partial match supported)
searchNameAr string Arabic company name search (min 2 chars, partial match supported)
crNumber string Exact Commercial Registration number lookup
companyStatus string ACTIVE Filter: ACTIVE, EXPIRED, CANCELLED, SOLD OR LEGAL STATUS CHANGED, or blank for any
fetchDetails boolean true Fetch full detail profile per company (address, capital, shareholders)
maxItems integer 10 Maximum records to return (up to 50,000)

At least one of searchNameEn, searchNameAr, or crNumber is required. Providing none will result in zero records returned.

Use cases

  • B2B lead generation — find active trading or construction companies in Bahrain by name and export contacts (phone, email, website) in bulk
  • Corporate due diligence — retrieve shareholder lists, registered addresses, and capital structure for any Bahraini entity by CR number
  • Market research — map the landscape of FOREIGN or GCC-nationality companies registered in Bahrain across specific business activity categories
  • Compliance screening — identify expired or cancelled registrations to flag in counterparty risk workflows
  • Legal and M&A research — pull branch records (each CR can have multiple branch numbers) to understand corporate structure

FAQ

Why do I get zero results?

The actor requires at least one of searchNameEn, searchNameAr, or crNumber. If all three are left blank, the portal returns no results and the actor has nothing to scrape.

What does branch_number mean?

Each CR number can have multiple branch records. Branch number 1 is typically the head office. Branches in different locations share the same CR number but have distinct branch numbers.

Does the actor need an API key?

No. Sijilat.bh uses a public HMAC token for its data API — the actor extracts and refreshes this token automatically. No account, API key, or proxy is required.


Results export as JSON, CSV, or Excel from the Apify dataset view.