Fixed Search
Fixed search allows a user to find complete details of an address by providing some details about that address by fixed parameters. Using the service user can complete an address to enable its user to reach there comfortably even if they know only some details about it. You can decide to use Json or XML as an output format in addition to language of your choice from Arabic or English.
Usage:
You must use an access token to make an authenticated call to our system. Access token are generated based on your subscription type. To get your access token please refer to “Your Subscriptions” section available on profile page.
Limits for calls to API
Our system doesn’t apply any limits on number of requests you can make for a particular API. But there are limits defined for total number of calls you can make per min and in one week. Please reference the list below for limits applied
Starter Package - Subscribers will be able to execute 5 calls/ minute up to a maximum of 100 calls/ week for any API.
Unlimited Package - Subscribers can make as many calls as they wish per minute or in a week with no upper limit defined. This package will have to be approved by our system administrator and make time.
API Request
Input Parameters
Field Description
Format(optional) It’s an optional input. We currently support output for API’s in two formats Json and XML. You will be required to specify in which format you need response, default is Json
Language(optional) It’s an optional input. Our API’s can provide response in Arabic or English with Arabic being the default language.
api_key Access token to authenticate you as a valid user of the system. Please refer to profile section to get your subscription key.
Page By default each request returns a maximum number of 10 results. If there are a large number of results, in such a case, this page number must be passed along to get the next set of results. Default value is 1.
CityId(optional) City id is a numeric value from Cities Lookup.
DistrictId(optional) District id is a numeric value form Districts Lookup.
BuildingNumber(optional) Four digit number which is unique to a building.
ZipCode(optional) Four digits numerical Post code / Zip Code.
AdditionalNumber(optional) Four digit numeric value.
CityName(optional) Name of the city in which address falls. Example Riyadh.
DistrictName(optional) Name of the district in which address falls. Example al amal.
StreetName(optional) Name of the street on which building is. Example king abdul aziz road.
encode(optional) By default response is in windows-1256.
Support for utf-8 is added as of now. Pass "utf8" as input parameter.
Requested URL
https://apina.address.gov.sa/NationalAddress/v3.1/address/address-fixed-params?language=E&format=JSON&page=1&cityid=3&Buildingnumber=8228&Additionalnumber=2121&Zipcode=12643&cityname=riyadh&districtname=al+amal&streetname=king+abdul+aziz+road&api_key=
Response
Default Fields Returned
By default, only the following fields are returned for a profile request:
Field
Description
Success
This represents success or failure of the request itself (true/false).
Status Description
This provides a description of the current status, validation messages or error messages, if any.
totalSearchResults
By default, each search request returns a set of 10 results. In case of multiple results, this attribute will describe the total number of results, so that the developer can pass the page number to get the next set of results accordingly.
Address(Part 1)
This consists of the first line of National Address format of address.” [BuildingNumber] [Street] - [District]”.
Address (Part 2)
This consists of the second line of National Address format of address.”[City] - [PostCode] – [AdditionalNumber]”.
ObjLatLng
This consists of latitude and longitude details of the address. To enable user to plot it on any map application like google map. [ObjectId] [Longitude] [Latitude] [Minx] [Miny] [Maxx] [Maxy].
BuildingNumber
Four digit number which is unique to a building.
Street
Name of the street on which building is. Example king abdul aziz road.
District
Name of the district in which address falls. Example al amal.
City
Name of the city in which address falls. Example Riyadh.
PostCode
Four digits numerical Post code / Zip Code.
AdditionalNumber
Four digit number.
RegionName
Name of region in which address falls. Example Ar Riyadh.
Latitude
Angular distance of the equator of a celestial object – expressed in degrees. Example 24.650099667616
Longitude
Angular distance of a place east or west of the meridian. Example 46.7166631947852
CityId
Id of the city in which address falls. Example: 3
RegionId
Id of the region in which address falls. Example 1
Restriction
Predefined restriction id. Example : 1
PKAddressID
Primary key for address. Example : 1264382282121
DistrictID
District Id in which address falls. Example : 10100003001
Sample Response
JSON
{"totalSearchResults": "1", "Addresses": [{"Title": null, "Address1": "8228 king abdul aziz road - al amal", "Address2": "riyadh 12643 - 2121", "ObjLatLng": "30829 46.71670870 24.65017630", "BuildingNumber": "8228", "Street": "king abdul aziz road", "District": "al amal", "City": "riyadh", "PostCode": "12643", "AdditionalNumber": "2121", "RegionName": "Ar Riyadh ", "PolygonString": null}], "PostCode": null, "success": true, "datasetOrdatatable": null, "result": null, "statusdescription": "SUCCESS", "fullexception": null}
XML
<AddressOutPutParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"> <success>true</success> <statusdescription>SUCCESS</statusdescription> <totalSearchResults>1</totalSearchResults> <Addresses> <Address> <Address1>8228 king abdul aziz road - al amal</Address1> <Address2>riyadh 12643 - 2121</Address2> <ObjLatLng>30829 46.71670870 24.65017630</ObjLatLng> <BuildingNumber>8228</BuildingNumber> <Street>king abdul aziz road</Street> <District>al amal</District> <City>riyadh</City> <PostCode>12643</PostCode> <AdditionalNumber>2121</AdditionalNumber> <RegionName>Ar Riyadh</RegionName> </Address> </Addresses> </AddressOutPutParams>
Common Errors
If there's an error with your API call, LinkedIn will return a HTTP status code along with a message detailing the error.
Code
Description
Solution
400
Bad Request
The request was invalid, which is usually caused by a programming error. Ensure that the request is formatted correctly.
401
"Access denied due to invalid subscription key. Make sure you are subscribed to an API you are trying to call and provide the right key.
"Ensure that a valid access token is being used in your API call By catching 401 unauthorized exceptions in all your calls you'll provide the coverage you need in your application to handle expired tokens. It's good practice to design and develop your application in anticipation that with any request you could potentially have an invalid access token.
403
Total limit for calls for your subscription has been reached.
You've reached the total limit of calls for web services. Based on your subscription type you have a defined number of calls which can be made. Please refer to “Products” section to know more about your subscription.
404
Page not found
The endpoint or resource your application is trying to reach doesn't exist500Internal Service ErrorThere was an application error on our server. Usually your request is valid but needs to be made at a later time.