Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

kvk-zonder-website

Tool die via de overheid.io openKVK API bedrijven in een postcode-range of op een wildcard-patroon ophaalt en per bedrijf detecteert of er (waarschijnlijk) een website is. Bedrijven zonder detecteerbare website zijn bruikbaar als leadslijst voor bv. webdesign-outreach.

Beschikbaar als:

  • GUI (Streamlit) — streamlit run app.py
  • CLI — python main.py …

Wat je moet weten

  1. openKVK geeft geen website-veld terug. De tool leidt dat zelf af via:
    • DNS + HTTP-probe op gokdomeinen (bedrijfsnaam.nl, .com, .eu, .amsterdam);
    • fallback: DuckDuckGo-zoekopdracht met filter op bekende directories (KVK, LinkedIn, Facebook, Goudengids, Google Maps, etc.).
  2. Dit is een heuristiek, geen waarheid. Generieke bedrijfsnamen geven onvermijdelijk false positives/negatives. Gebruik de output als indicatie.
  3. Je hebt een overheid.io API key nodig. Registreren via overheid.io. Voor openKVK is er een gratis tier.
  4. Respecteer rate limits van zowel overheid.io als DuckDuckGo. De slider "pauze tussen website-checks" in de GUI (of --sleep in de CLI) geeft je daar controle over.

Installatie

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# vul OVERHEID_API_KEY in .env

GUI

streamlit run app.py

Opent in de browser op http://localhost:8501.

Wat je ziet:

  • Sidebar met API key, keuze tussen postcode-range (bv. 1011–1019) of wildcard-patroon (bv. 1017*, *XD), en filters (alleen hoofdvestigingen, sleep, max per patroon).
  • Hoofdpaneel: progress bar, live-updating tabel met resultaten, en een Download CSV-knop als de scan klaar is.

CLI

# Amsterdam centrum (1011-1019), alleen hoofdvestigingen:
python main.py --from 1011 --to 1019 --only-main --out centrum.csv

# Losse wildcard-patronen:
python main.py --postcode "1017*" --out 1017.csv
python main.py --postcode "*XD" --out xd-bedrijven.csv
python main.py --postcode "1011*" --postcode "1012*" --out cluster.csv

# Heel Amsterdam:
python main.py --from 1000 --to 1109 --only-main --out amsterdam.csv

# Inclusief bedrijven mét website (met vlag in CSV):
python main.py --from 1011 --to 1013 --include-with-website --out centrum-full.csv

Alle CLI-vlaggen

Vlag Default Omschrijving
--from 1000 Eerste 4-cijferige postcode in de range
--to 1109 Laatste 4-cijferige postcode in de range
--postcode PATROON — Wildcard-patroon (mag meerdere keren); overschrijft --from/--to
--out kvk-zonder-website.csv Output-CSV
--only-main off Alleen hoofdvestigingen
--include-with-website off Ook bedrijven mét website wegschrijven
--sleep 0.2 Pauze (sec) tussen website-checks
--max-pages — Veiligheidsnet: max API-pagina's per patroon
-v off Debug-logging

Output

CSV met de kolommen:

postcode, handelsnaam, type,
straatnaam, huisnummer, plaats,
kvk_nummer, vestigingsnummer,
website_gevonden, website, detectie_methode

detectie_methode:

  • dns — kandidaat-domein (bedrijfsnaam.nl enz.) bestaat én serveert HTML
  • search — DuckDuckGo gaf een niet-directory resultaat terug
  • none — niks gevonden → waarschijnlijk geen website

Postcode-ranges Amsterdam

Gebied Range
Centrum 1011–1019
Noord 1021–1039
West 1051–1059
Nieuw-West 1060–1069
Oud-Zuid 1071–1083
Oost 1091–1099
Zuidoost 1101–1108
Heel Amsterdam (grofweg) 1000–1109

Tips

  • Begin klein (1 patroon) om te zien of je API-key werkt.
  • De CSV wordt tussentijds weggeschreven (CLI: flush() per regel, GUI: dataframe update live), dus afbreken is veilig.
  • Voor serieuze leadslijsten: sanity-check altijd een steekproef handmatig.

Juridisch

KVK-data uit openKVK gebruiken voor direct marketing is aan regels gebonden. Check de overheid.io voorwaarden en houd je aan AVG + Telecommunicatiewet voor ongevraagde benadering (Bel-me-niet, opt-in e-mail, etc.). Deze tool is een hulpmiddel; de juridische verantwoordelijkheid voor wat je met de output doet ligt bij jou.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages