Cedar Rose "Company Flexible API" has the following Advantages:

Flexible "Search Parameters"
  • Company Name: English, Arabic
  • Address Details: Country, Region, District, Town, Area, Street, Building, P.O. Box, Postal Code
  • Register Details: Country, Organization, Register, Number
  • Name of a Shareholder or a Director (mostly CEO)
Search Values
  • When you are doubting the spelling of certain parameters, you can search for "Similar values".
  • For each parameter you include in the request you can specify whether the search value is exact or partial.
Response Data
  • You are able to include almost any detail in the response
  • The response details can be the same as search parameters or totally different.

Restful Web Services

Cedar Rose implements RESTful web services over HTTP, with a JSON response, and thus, we can integrate with any web based solution.

General RESTful Response Guide
  • HTTP Code 200: Success
  • HTTP Code 400: Error
General RESTful Response Guide

JSON property names are case sensitive. Therefore, if the web service expects "Name", then "name" wouldn't be valid.

Example:


{Name: "cedar rose"} // valid
{name: "cedar rose"} // not valid

JSON Property Value

JSON property string values are NOT case sensitive.

Example:

{Name:"cedar rose"} is same as {Name: "Cedar Rose"}

Login

For authentication, a username and password are required; if the client hasn’t been provided with one, please contact Cedar Rose.
During the login request, and in addition to the username and password, the request body should contain “grant_type=password”.
After a successful login, the system will respond with an “access_token” which should be used with all other requests henceforth and the response will be in JSON.

Login Request
  • URL: api.cedar-rose.com/api/User/Login
  • Method: POST
  • Header: Content-Type: application/x-www-form-urlencoded
  • Request Body (example):
  • grant_type=password
  • &username=email1@gmail.com
  • &password=P@ssword123
Login Response (example)
  • .expires: Mon, 15 Jun 22:00
  • .issued: Mon, 15 Jun 13:00
  • access_token: BfZPnuyPeZn8e-I…
  • token_type: bearer
  • userName: email@email.com

Company available data

The company returns:

Notes
  • No need to login
Login Request
  • URL: api.cedar-rose.com/api/Company/AvailableSectionsByUID
  • Method: POST
  • Append to URL: UID (string, required)
  • Example: api.cedar-rose.com/api/Company/AvailableSectionsByUID?UID=KWC0309215
  • userName: email@email.com

Place Order (or download)

  • login is required
  • api.cedar-rose.com/api/Order/RequestOrder
  • Post
  • Content-Type: application/json
  • Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y…
  • Kindly Note that you should place the "access_token" in place of the underlined characters
Name Type Description Required
SubjectName String The available name of the company Required to include either SubjectName or IDATOM
ProductId String serial number of the requested product (example: 284 is the serial number of Company Credit Report) Required
SpeedId String serial number of the requested Speed (example: 1 is the serial number of the redular speed) Required
SubjectCountryID String serial number of the Country of the order Required
IDATOM String serial number of the company (if available) Required to include either SubjectName or IDATOM
AdditionalInfo String additional info that you would like to include in your request Optional
SubjectDetails String available details about the company Optional
TradingName String available trading names of the company Optional
CustomerReference String could be your serial number or project ID or purchase number or just "0" Optional
Name Type Description
Price String the price amount of the order, according to the product, speed and country
VAT String the VAT amount
DueDate String the Due Date of the order, according to product, speed, country, holidays...
UID String country code + Cedar Rose reference number
Content String (XML) you will receive xml design separately according to the product

Supporting Functions

  • URL: api.cedar-rose.com/api/common/Categories
  • Method: GET
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Response: ID (int), Name (String)
  • URL: api.cedar-rose.com/api/common/Products
  • Method: GET
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Append to URL: CategoryId (int, greater than zero, required)
  • Response: ID (int), Name (String)
  • URL: api.cedar-rose.com/api/common/Speeds
  • Method: GET
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Response: ID (int), Name (String)
  • URL: api.cedar-rose.com/api/Order/GetPricebySpeedId
  • Method: POST
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • JSON Parameters: ProductId, SpeedId, SubjectCountryID (String, Required). example: {"ProductId": "284", "SpeedId": "2", "SubjectCountryId": "9"}
  • Response: amount (decimal)
  • URL: api.cedar-rose.com/api/Order/OrderDueDate
  • Method: POST
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • JSON Parameters: ProductId, SpeedId, SubjectCountryID (String, Required). example: {"ProductId": "284", "SpeedId": "2", "SubjectCountryId": "9"}
  • Response: DueDate (date)
  • URL: api.cedar-rose.com/api/common/countries
  • Method: GET
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Response: ID (int), Country (String)
  • URL: api.cedar-rose.com/api/Common/Organizations
  • Method: GET
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Response: ID (int), Name (String)
  • URL: api.cedar-rose.com/api/Common/Registers
  • Method: GET
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Append to URL: IDOrganisation, CountryID
  • Response: ID (int), Name (String)
  • URL: api.cedar-rose.com/api/Common/LegalForms
  • Method: GET
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Append to URL: CountryID
  • Response: ID (int), CountryID(int), Name (String)
  • URL: https://api.cedar-rose.com/api/client/GetClientBalances
  • Method: POST
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Response: AccountBalance (String), Discount (String), DownloadBalance (String), CurrencyID (String), CurrencySymbol (String), CurrencyName (String)
  • URL: https://api.cedar-rose.com/api/client/GetClientOrders
  • Method: POST
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Response: MainName (String), DateUpdated(String), IsAvailable (Boolean)
  • URL: https://api.cedar-rose.com/api/order/CheckOrderStatus
  • Method: POST
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Append to URL: OrderID (int)
  • Response: Status (int), Content (XML of the Report)
  • URL: https://api.cedar-rose.com/api/order/sendOrderReport
  • Method: POST
  • Header Content-Type: application/json
  • Header Authorization: Bearer AnJ5YlY4NwrYo9V6Pr4IeEOb1K35Y… (Kindly Note that you should place the "access_token" in place of the underlined characters)
  • Append to URL: OrderID (int)
  • Response: PDF File

FAQs

Please note that our database contains millions of records and when the API searches a company name it also searches the trading names, the former names, the branch names and so on.

  • use the “country” filter in your API company searches.
  • try to avoid searching for companies using “one word” only.
  • if you use “one word” searches or short searches, please avoid using words that are very common, example “International” which is present in thousands of companies names in all the countries we cover.
  • avoid using the “contains” filter when you can use other options like “Exact”, “Starts With”, “Ends With”. Example: you can search for “Cedar Rose%” instead of “%Cedar Rose%” when searching for Cedar Rose Int. Services Ltd.
  • We are referring to native/Arabic as we are adding Persian names in our database to companies and individuals.
  • When Searching for an Individual: Searching through our API will enable users to use both native/Arabic and Latin/Romanised characters when searching for an individual relations for Directorship/Shareholding in our database. The result returns findings in the same language used for searching i.e. either Arabic or Latin/Romanised as searched. We believe the search language option will add greater accuracy for matching even if the search used is a fuzzy search. I believe fuzzy searches are usually done when the analyst is not sure of the spelling and particularly when converting from native i.e. Arabic to Latin/Romanised characters, but in this case of ours, we offer searching with both types characters.
  • When Searching for a company: Currently searching through our API enables users to use Latin/Romanised characters only when searching for a company relations for Directorship/Shareholding. However, we have scheduled and by end of December for this service to also offer native/Arabic as well as the Latin/Romanised characters search.