HungerStation restaurants & menus (unofficial) avatar

HungerStation restaurants & menus (unofficial)

Pricing

from $2.00 / 1,000 restaurant results

Go to Apify Store
HungerStation restaurants & menus (unofficial)

HungerStation restaurants & menus (unofficial)

Unofficial HungerStation district listings and restaurant menus for Saudi Arabia (sa-en). Reviews are omitted.

Pricing

from $2.00 / 1,000 restaurant results

Rating

0.0

(0)

Developer

Runekit

Runekit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Collects public HungerStation restaurant listings for Saudi Arabia from district pages such as https://hungerstation.com/sa-en/restaurants/regions/riyadh/narjis. When menus are enabled, it also opens each restaurant page and stores the menu.

Unofficial actor, not affiliated with HungerStation or Delivery Hero.

Reviews are omitted. Login, profile, orders, checkout, and /bh-* paths are skipped. The crawl speaks sa-en only.

HungerStation's robots.txt sets Crawl-delay: 10. This actor honors that with one request at a time and sameDomainDelaySecs: 10 (at least 10 seconds between requests to the site).

Input

FieldDefaultMeaning
startUrlsNarjis, RiyadhDistrict listing URLs and/or restaurant URLs.
maxPagesPerDistrict2Listing pages per district start URL. The start URL is the first page. Further pages are ?page=2, ?page=3, and so on.
maxRestaurants20Stop after this many restaurants. 0 means no limit.
includeMenusfalseAttach menu items from each restaurant page.
proxyConfigurationApify residential, Saudi Arabia (useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"], apifyProxyCountry: "SA")HungerStation blocks datacenter IPs with HTTP 403. useApifyProxy: false calls the site directly. A missing proxyConfiguration uses that same object.

maxRestaurants: 0 with includeMenus turned on can run for hours on a large district.

A restaurant-only start URL has no delivery fee. Fee, minimum order, and ETA are taken from the district listing. The menu page does not include them.

Output

One dataset item per restaurant:

  • restaurantId, name, url
  • city, region, district
  • cuisines
  • rating, ratingCount
  • deliveryFee (number, SAR), deliveryFeeText, minimumOrder, deliveryTimeText, deliveryType
  • latitude, longitude
  • status, isOpen
  • menuItemCount and menu when includeMenus is on. Each menu row has category, name, description, price, and currency (SAR)
  • sourcePage, scrapedAt

Prices are treated as Saudi riyal. When both the listing and the menu page were seen, the listing supplies the delivery fee, fee text, minimum order, ETA, delivery type, status, and open flag. Those two pages can disagree about whether a restaurant is open.

If HungerStation or Cloudflare blocks a request (HTTP 403/503, or a challenge page with no page data), the actor logs a warning and does not retry that request. If the crawl saves no restaurants, the run fails. A start list with no allowed HungerStation URL still ends successfully before the crawl.