A command-line tool to search and extract nearby local businesses based on a provided address.
LocalBiz uses open data sources (OpenStreetMap via Nominatim and Overpass API) to find local businesses within a specified radius of an address and output their information in JSON format. Perfect for integration into larger systems, data scraping, and enrichment workflows.
- Find businesses within a customizable radius from any address
- Extract business names, addresses, websites, and emails
- Output structured JSON data for easy integration
- Filter and sort results (e.g., by distance, businesses with websites)
- Supports Linux and macOS
- Configurable via command line or config file
- Python 3.10 or higher
- pip
It's recommended to install and run LocalBiz within a virtual environment to avoid conflicts with other packages.
# Clone the repository
git clone https://github.com/yourusername/localbiz.git
cd localbiz
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate
# Install dependencies and the package
pip install -r requirements.txt
pip install -e .
uv is a fast Python package installer and resolver.
# Install uv if you don't have it
pip install uv
# Clone the repository
git clone https://github.com/yourusername/localbiz.git
cd localbiz
# Create a virtual environment and install dependencies in one command
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install the package and dependencies
uv pip install -r requirements.txt
uv pip install -e .
# Clone the repository
git clone https://github.com/yourusername/localbiz.git
cd localbiz
# Install with make
make install
# Or manually with pip
pip install -r requirements.txt
pip install -e .
Basic usage:
localbiz --ad
6300
dress "123 Main St, San Francisco, CA"
Advanced options:
localbiz --address "123 Main St, San Francisco, CA" \
--radius 1500 \
--output results.json \
--verbose
--address
- The address to search around (required)--radius
- Search radius in meters (default: 1000)--output
- Save results to JSON file (optional)--verbose
- Show detailed logs and API responses--plain
- Disable rich terminal output formatting--config
- Path to config YAML file
This project is licensed under the MIT License - see the LICENSE file for details.