GIS Scraper extracts structured company data from the GIS catalog, helping teams collect reliable business listings at scale. It simplifies gathering contact details and categorization across cities and sections, saving hours of manual research.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for gis-scraper you've just found your team β Letβs Chat. ππ
This project collects company information from the GIS catalog based on configurable search parameters. It solves the problem of manually browsing fragmented listings by delivering clean, structured results. It is designed for developers, analysts, and growth teams who need up-to-date local business data.
- Targets specific cities using short location codes
- Supports multiple business sections such as beauty, medicine, and auto
- Extracts verified contact channels from each listing
- Limits results to maintain predictable run sizes
| Feature | Description |
|---|---|
| City-based parsing | Filter companies by predefined city identifiers such as msk or spb. |
| Section filtering | Narrow results to business categories like beauty, medicine, or auto. |
| Contact extraction | Collects phone numbers, websites, Telegram links, and emails. |
| Result limiting | Control the number of companies returned per run. |
| Search queries | Find businesses using natural-language keywords. |
| Field Name | Field Description |
|---|---|
| name | Registered company or business name. |
| city | City associated with the company listing. |
| category | Business section or industry classification. |
| phone | Primary contact phone number. |
| website | Official business website URL. |
| telegram | Telegram contact or channel link, if available. |
| Publicly listed contact email address. |
[
{
"name": "Style Pro Salon",
"city": "spb",
"category": "beauty",
"phone": "+7 812 555-12-34",
"website": "https://stylepro.example",
"telegram": "https://t.me/stylepro",
"email": "contact@stylepro.example"
}
]
GIS scraper/
βββ src/
β βββ main.py
β βββ parser.py
β βββ http_client.py
β βββ validators.py
βββ config/
β βββ settings.example.json
βββ data/
β βββ sample_output.json
βββ requirements.txt
βββ README.md
- Marketing teams use it to collect local business contacts, so they can run targeted outreach campaigns.
- Data analysts use it to build regional datasets, so they can analyze market distribution.
- Entrepreneurs use it to research competitors, so they can identify gaps in local services.
- Sales teams use it to generate qualified leads, so they can improve conversion rates.
Which cities are supported? The scraper works with predefined city codes such as msk and spb. Additional cities can be added through configuration.
Can I limit how many companies are returned? Yes, you can define a maximum number of results to keep runs fast and predictable.
What business sections are available? Common sections include beauty, medicine, and auto, with support for extending categories as needed.
Does every listing include all contact fields? Only publicly available contact details are extracted, so some fields may be empty depending on the listing.
Primary Metric: Processes up to 100 company listings per run with consistent response times.
Reliability Metric: Maintains a high success rate across supported cities with stable parsing logic.
Efficiency Metric: Minimizes requests by filtering early and stopping once limits are reached.
Quality Metric: Delivers structured records with accurate contact fields when available.
