No more theory. Here's your manual to-do list β€” exactly what to go get/set up and hand me. Grouped so you can skim. πŸ”§ Shared β€” do once (all 3 need these) VPS: Buy Cloudzy 4GB Linux, Dubai region. Send me the server IP + root password (or SSH key). Proxies: Create DataImpulse account β†’ buy the $5 / 5GB residential β†’ from the dashboard copy host, port, username, password. Send me those 4. Output destination: Default = CSV on the server (simplest, zero setup). Want a live Google Sheet instead? Create one + a Google service account and share the sheet to it β€” I'll walk you through. Pick one (default CSV if you don't care). πŸ—ΊοΈ Google Maps β€” needs the LEAST, we start here Keyword list (e.g. restaurant, coffee shop, dentist, gym…) Location list (Riyadh, Jeddah, specific districts…) That's it β€” no accounts. I build: search + crawl β†’ name, maps link, phone, website β†’ then crawl each website for email + social links β†’ PLUS your differentiator: oldest-vs-newest review date = how long the branch has existed, and low review count = recently added. Fully doable. πŸ“Έ Instagram β€” needs accounts 2–3 Instagram accounts (username + password) β€” aged/warmed if you have them, throwaways, not personal. Keyword / hashtag list + target cities. ⚠️ Honest limit: email + phone only exist on business/professional profiles (IG exposes public_email / business_phone for those). Personal accounts won't have them β€” that's Instagram, not the scraper. For business accounts, your goal works perfectly. πŸ’Ό LinkedIn β€” needs accounts + one honesty check 2–3 LinkedIn accounts (login + password, aged if possible) β€” or log in manually once and export the li_at cookie (safer). Search definition: either job titles + locations, or a list of company pages whose employees you want. ⚠️ Honest limit: LinkedIn hides email/phone unless you're a 1st-degree connection or on Sales Navigator. So off the page we reliably get name, title, company, profile link β€” not email/phone. To get emails I enrich separately (derive name@companydomain, then verify). I'll wire that in β€” just know the email doesn't come straight off LinkedIn.