Israel-Spam-Callers

April 23, 2026 · View on GitHub

A community-maintained list of known spam / nuisance / scam callers operating in Israel (+972 and local prefixes). Crowd-sourced so that Israeli phone users can share patterns — call centres, spoofed numbers, persistent cold-callers, scam operations — and protect each other.

Not a blocklist drop-in (yet). Primarily a human-readable ledger; structured CSV/JSON exports can follow once the schema stabilises.

Schema

Each entry goes in callers.csv:

fieldexamplenotes
number+972-3-XXX-XXXXE.164 preferred; leave digits if masked
first_seen2026-04-23ISO date
last_seen2026-04-23ISO date
call_count3how many times this number has hit you
categoryscam / telemarketing / survey / silent / robocall / debt-collection / political
languagehe / en / ru / ar / mixed
claimed_identity"Bezeq upgrade team"what they said they were
actual_identity"unknown call centre, TA area code"if known
notesfree texttactics, scripts, time-of-day pattern
sourceself / truecaller / forumwhere the report came from

How to contribute

  1. Fork, add a row to callers.csv, PR.
  2. Or open an issue with the number + context; a maintainer will add it.
  3. Do not include PII of the victim (your name, address, etc). Numbers + what they said is enough.

Getting spam calls into the repo without friction

The bottleneck is capture. You won't log a spammer manually at 09:00 on a Tuesday — you'll hang up, swear, forget. The workflow has to be: tap once on the phone, sync later, PR weekly.

FOSS / F-Droid options (preferred)

Truecaller and Hiya are privacy-hostile — they upload your contacts, monetise the graph, and the "spam ID" is really a dragnet. For the same job without the surveillance tax, stay on F-Droid:

AppSourceWhat it doesExport path
Yet Another Call Blocker (YACB)F-Droid · GitLabIdentifies & blocks spam using the ShouldAnswer community DB, fully offline (DB ships with the app and updates in batches). No tracking, no account, no upload. Lets you mark numbers as spam locally.Block list is a local SQLite DB — can be exported as CSV from the app (Settings → Data → Export) and pulled via ADB. This is the most workflow-friendly option.
Silence (call & SMS blocker)F-DroidManual blocklist only; no community DB.Blocklist is plain text, trivially exportable.
Call Recorder – SCR / OpenCNAM-style lookupsF-DroidRecording rather than blocking, but some variants do offline CNAM.Not relevant for blocklist export.
LineageOS / GrapheneOS built-in dialerROM-levelBlock & mark spam from the call log, no Google needed.Same adb content query trick as below.

YACB is the standout. It's actively maintained, genuinely FOSS (Apache-2.0), privacy-respecting, and its local SQLite makes it the easiest to pipe into this repo.

Commercial / closed-source options (for comparison)

If you don't want to go FOSS, the mainstream options have trade-offs:

AppPlatformTap-to-reportExport path
TruecalleriOS, AndroidYes (built in)GDPR data request (Settings → Privacy Centre → "Request my data") returns a ZIP with your report history as JSON/CSV. Slow (hours–days) but official.
HiyaiOS, AndroidYesNo user-facing export. Not recommended if you care about owning the data.
Should I Answer?AndroidYesLocal DB on device — can be pulled via ADB (/data/data/...) on rooted devices, or via the in-app community-report history.
Call Blocker (Kaspersky / Malwarebytes)AndroidYesNo export.
Google Phone appAndroid (Pixel / many OEMs)Yes — "Block & report spam"No export of your reports, but call log itself can be pulled via adb shell content query --uri content://call_log/calls, which gives every incoming number + timestamp + duration. Combine with a local "I marked this as spam" flag.

If you're on Android (FOSS route — recommended):

  1. Install Yet Another Call Blocker from F-Droid.
  2. When a spam call hits, long-press in the call log → Block & mark as spam. Takes 2 seconds.
  3. Monthly, in YACB: Settings → Data → Export → save CSV. Pull to laptop via adb pull or syncthing.
  4. Ingest script (see scripts/ingest_yacb.py) merges new rows into callers.csv.

If you're on Android (non-FOSS fallback):

  1. Use the default Google Phone app's Block & report spam.
  2. When a spam call hits, tap Block & report spam in the call log. Takes 2 seconds.
  3. Weekly, run an adb pull of the call log into a staging folder:
    adb shell content query --uri content://call_log/calls \
      --projection "number:date:duration:type" \
      > ~/repos/github/my-repos/Israel-Spam-Callers/_inbox/$(date +%F).txt
    
  4. A script converts new rows → CSV entries, dedupes against existing callers.csv, commits.
  5. Review the diff, PR / push.

If you're on iOS:

  1. Use Truecaller, report each spam call in-app.
  2. Monthly, trigger a Truecaller GDPR export → download ZIP → drop into _inbox/.
  3. Parsing script extracts your own reports → CSV entries → PR.

Low-tech fallback (works anywhere):

  • Siri/Google Assistant shortcut: "Log spam caller" → appends {number, timestamp} to a plain text file in iCloud / Google Drive.
  • The phone's own call log is the source of truth for the number; the shortcut just flags "this one was spam."
  • Weekly, your laptop syncs that file and an ingest script rolls new flagged numbers into callers.csv.

Planned tooling (in this repo)

  • scripts/ingest_yacb.py — parse a Yet Another Call Blocker CSV export (preferred path).
  • scripts/ingest_adb.py — parse an adb content query dump, cross-reference a "spam-flagged" list, append new rows.
  • scripts/ingest_truecaller.py — parse a Truecaller GDPR export ZIP (only if you're stuck on Truecaller).
  • scripts/dedupe.py — merge duplicate numbers, increment call_count, update last_seen.
  • scripts/export_blocklist.py — emit an iOS Call Directory-compatible CSV and an Android-compatible list for use with blocker apps.

The goal: spam call → one phone tap → weekly git push → community blocklist, with the human in the loop only for categorisation and notes.

License

CC0 for data. MIT for any scripts.