UAE

Emirates ID

Government database lookup API

post

/api/v2/id/lookup/uae/id

Header parameters
Authorizationstringrequired

Bearer token

Body
identityNumberstringrequired
dateOfBirthstringrequired

yyyy-MM-dd

Pattern: \d{4}-\d{2}-\d{2}
nationalityCodestring · enumrequired

ISO 3166-1 alpha-3 format

Options: ABW, AFG, AGO, AIA, ALA, ALB, AND, ARE, ARG, ARM, ASM, ATA, ATF, ATG, AUS, AUT, AZE, BDI, BEL, BEN, BES, BFA, BGD, BGR, BHR, BHS, BIH, BLM, BLR, BLZ, BMU, BOL, BRA, BRB, BRN, BTN, BVT, BWA, CAF, CAN, CCK, CHE, CHL, CHN, CIV, CMR, COD, COG, COK, COL, COM, CPV, CRI, CUB, CUW, CXR, CYM, CYP, CZE, DEU, DJI, DMA, DNK, DOM, DZA, ECU, EGY, ERI, ESH, ESP, EST, ETH, FIN, FJI, FLK, FRA, FRO, FSM, GAB, GBR, GEO, GGY, GHA, GIB, GIN, GLP, GMB, GNB, GNQ, GRC, GRD, GRL, GTM, GUF, GUM, GUY, HKG, HMD, HND, HRV, HTI, HUN, IDN, IMN, IND, IOT, IRL, IRN, IRQ, ISL, ISR, ITA, JAM, JEY, JOR, JPN, KAZ, KEN, KGZ, KHM, KIR, KNA, KOR, KWT, LAO, LBN, LBR, LBY, LCA, LIE, LKA, LSO, LTU, LUX, LVA, MAC, MAF, MAR, MCO, MDA, MDG, MDV, MEX, MHL, MKD, MLI, MLT, MMR, MNE, MNG, MNP, MOZ, MRT, MSR, MTQ, MUS, MWI, MYS, MYT, NAM, NCL, NER, NFK, NGA, NIC, NIU, NLD, NOR, NPL, NRU, NZL, OMN, PAK, PAN, PCN, PER, PHL, PLW, PNG, POL, PRI, PRK, PRT, PRY, PSE, PYF, QAT, REU, ROU, RUS, RWA, SAU, SDN, SEN, SGP, SGS, SHN, SJM, SLB, SLE, SLV, SMR, SOM, SPM, SRB, SSD, STP, SUR, SVK, SVN, SWE, SWZ, SXM, SYC, SYR, TCA, TCD, TGO, THA, TJK, TKL, TKM, TLS, TON, TTO, TUN, TUR, TUV, TWN, TZA, UGA, UKR, UMI, URY, USA, UZB, VAT, VCT, VEN, VGB, VIR, VNM, VUT, WLF, WSM, YEM, ZAF, ZMB, ZWE
Responses
curl -L \
  --request POST \
  --url 'https://id.uqudo.io/api/v2/id/lookup/uae/id' \
  --header 'Authorization: text' \
  --header 'Content-Type: application/json' \
  --data '{
    "identityNumber": "text",
    "dateOfBirth": "text",
    "nationalityCode": "ABW"
  }'
{
  "identityNumber": "text",
  "cardNumber": "text",
  "dateOfBirth": "text",
  "dateOfBirthFormatted": "text",
  "issueDate": "text",
  "issueDateFormatted": "text",
  "dateOfExpiry": "text",
  "dateOfExpiryFormatted": "text",
  "nationalityCode": "ABW"
}

Note: Our API has a read timeout threshold of 35 seconds. To ensure you receive a proper response, we recommend setting your read timeout to at least 40 seconds, as this adds a small buffer for minor network or processing delays. Additionally, please be aware that if the target government service is unavailable or times out, our system will always return an HTTP 503 status code. It is important to handle this error appropriately in your implementation.

As a general best practice, for any HTTP 5xx status code, you should implement a retry mechanism with a short delay (a few seconds) before retrying. This approach helps mitigate temporary network disruptions and momentary unavailability of the government service. The same applies if your request times out without receiving a response.

Inherent unreliability of goverment services

Unfortunately, some government services are inherently unreliable, leading to unpredictable failures. There are no guaranteed SLAs, and the service may suffer from frequent, unplanned outages that can sometimes last several hours. In view of these challenges, we highly recommend using an asynchronous approach when integrating with this API:

  • Queue Requests: Instead of making direct API calls, enqueue requests using a message queue (e.g., AWS SQS, RabbitMQ).

  • Asynchronous Processing: Have worker nodes process requests asynchronously to minimize system load.

  • Background Retries: Manage retries in the background so that users are not affected.

  • User Notifications: Replace real-time validation with a message like, “Your application is being processed. You will receive an update shortly.”

  • Result Delivery: Communicate results through push notifications or via Email/SMS updates.

Last updated

Was this helpful?