Skip to main content

A wrapper to scrape Google Places API with logging and export support

Project description

Google Places Scraper

A Python wrapper and CLI tool to scrape nearby places using the Google Places API. Useful for lead generation, local business discovery, and location data gathering.


Links

https://pypi.org/project/google-places-scraper/ https://github.com/marsalan06/google-places-scraper

✨ Features

  • 🔍 Search places by location, radius, and type (e.g., schools, hospitals)
  • 📞 Fetch detailed info: address, phone, website
  • 📤 Export results as CSV, JSON, or YAML
  • 💰 Log request stats and estimated cost per Google API pricing
  • 🖥️ Use via Python or command-line (CLI)

📦 Installation

From PyPI:

pip install google-places-scraper

From local build:

pip install dist/google_places_scraper-0.1.0-py3-none-any.whl

For development (editable mode):

pip install -e .

🐍 Python Usage

You can use it directly in your Python scripts:

from google_places_scraper import GooglePlacesScraper

scraper = GooglePlacesScraper(api_key="YOUR_GOOGLE_API_KEY")
scraper.run(
    user_location_input="Karachi, Pakistan",
    radius=3000,
    type_="school",
    export_format="csv",  # Options: csv, json, yaml
    max_results=50
)

🚀 CLI Usage

After installation, run the CLI:

google-places-scraper

You’ll be prompted to enter:

Enter your Google Places API Key: AIzaxxxxx Enter location name or 'latitude,longitude': Karachi Enter radius in meters (default 5000): 3000 Export format (csv/json/yaml) [default=csv]: csv Enter type of place (default=school): school Max number of results (leave blank for no limit): 10


📄 Output

The tool generates one of the following files based on your export format:

leads.csv

leads.json

leads.yaml

Containing the following fields:

name

formatted_address

formatted_phone_number

website

Example (CSV):

name,formatted_address,formatted_phone_number,website "ABC School","Main Street, Karachi","021-1234567","http://abcschool.edu.pk"


🛠 Development

Build the package:

rm -rf dist build *.egg-info python -m build

or

make install

then

twine upload dist/*

Reinstall after changes:

pip install --force-reinstall dist/google_places_scraper-0.1.0-py3-none-any.whl


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

google_places_scraper-0.1.2.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

google_places_scraper-0.1.2-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file google_places_scraper-0.1.2.tar.gz.

File metadata

  • Download URL: google_places_scraper-0.1.2.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for google_places_scraper-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d2c25cb3d6e1065fbc47f183b1b75246c07eb22bd958b6b965b054d5f615530b
MD5 f6529025094de2be794e4885b33785b5
BLAKE2b-256 c392e271f6fbaf79bc32ed46f7ba6a0d73295b2a510f051cca6fe3ed180e60eb

See more details on using hashes here.

File details

Details for the file google_places_scraper-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for google_places_scraper-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 792495b7011dc04854c1d5b186f7d69954285ec561d3f93c03aef80a98ccecb0
MD5 d3dfbff87109399568b017f03ec9394b
BLAKE2b-256 6c3c7e9d322830e6fcffbd1304384aee473282ffb0739d18bc74a121fd734302

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page