Complete Overview
This tool uses Jarir's public website APIs to fetch real-time product pricing and branch-level availability.
How the APIs Were Found
- Opened product pages on Jarir's website
- Opened Chrome DevTools → Network tab
- Filtered by Fetch/XHR to inspect API calls
- Identified multiple endpoints:
- Search API: Returns product name and SKU
- Product API: Returns full product details and final customer-visible price
- Availability API: Returns branch-level stock availability and collection ETA
- Master Data API: Contains all branch locations with city codes and district IDs
How It Works
- User enters a product name
- The app calls the search API to retrieve matching products
- User manually selects the correct product from the list
- The app calls the product API using the selected SKU to get the final discounted price
- User selects their city from available Saudi cities
- User selects a branch in that city
- The app calls the availability API with the SKU, branch code, city code, and district ID
- Real-time availability status and collection ETA are displayed
Why This Approach
- Uses the same APIs the website itself uses
- Fetches live, real-time pricing and availability
- Ensures the actual final customer-visible price is returned
- Provides branch-specific availability and collection times
- No scraping — only structured API responses
Technical Details
The availability API requires three matching parameters that must all belong to the same branch:
showroom_code - The branch identifier
city_code - The city code (e.g., "RUH" for Riyadh)
district_id - The district identifier
If these don't match, the API returns null. The master data ensures all three values are correctly paired for each branch.