Israeli Address Normalizer & Matcher
Pricing
Pay per usage
Israeli Address Normalizer & Matcher
Clean messy Israeli addresses (Hebrew/English) and match them to official settlement and street codes from data.gov.il open data. Not an official government service.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Refael Sheinker
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Features
Share
Turn messy, free-text Israeli addresses into clean, structured records. Each address is matched to its settlement code (סמל ישוב) and street code (סמל רחוב) from the public street and settlement lists on data.gov.il.
This is not an official government service. It is an independent tool built on open data from data.gov.il. It is not affiliated with, endorsed by or certified by the Israeli government, the Central Bureau of Statistics or the Population and Immigration Authority. Results are best-effort matches, not official address validation.
What it does
- Accepts addresses in Hebrew, English or mixed, in any word order:
הרצל 40 טירת כרמל,Tirat Carmel, 40 Herzl St,שד' רוטשילד 12 ת"א. - Handles common mess:
- abbreviations (רח', שד', סמ', ת"א, פ"ת, ראשל"צ, י-ם…)
- full and defective spelling (כתיב מלא/חסר)
- different quote and gershayim characters, and missing quotes
- reversed name order in the official list (e.g. "אשכול לוי")
- apartment, floor and entrance noise, postal codes, and "Israel" at the end
- numbered streets (רח 3014)
- known alternative street names, taken from the official synonyms file
- Returns the official Hebrew names, the English settlement name where the source has one, the house number, a confidence score and flags for ambiguous, unmatched and low-confidence results.
Input
{"addresses": ["הרצל 40 טירת כרמל","רח' דיזנגוף 50 דירה 4, תל-אביב","12 Ben Yehuda St, Jerusalem","קיבוץ יגור"],"minConfidence": 0.6,"includeAlternatives": true}
| Field | Type | Default | Meaning |
|---|---|---|---|
addresses | string[] | — | Addresses to match, one per item. |
minConfidence | number 0–1 | 0.6 | Results below this score get lowConfidence: true. They are still returned. |
includeAlternatives | boolean | true | Include up to 3 runner-up candidates. |
Output (one dataset item per address)
{"input": "הרצל 40 טירת כרמל","settlementCode": 2100,"settlementName": "טירת כרמל","settlementNameEn": "TIRAT KARMEL","streetCode": 434,"streetName": "הרצל","streetNameEn": null,"houseNumber": "40","normalizedAddress": "הרצל 40, טירת כרמל","confidence": 1,"settlementMatchMethod": "name","streetMatchMethod": "exact","unmatchedSettlement": false,"unmatchedStreet": false,"ambiguous": false,"missingHouseNumber": false,"poBox": false,"lowConfidence": false,"alternatives": [],"dataSnapshot": "2026-10-28T19:27:27.822Z"}
confidence: 1.0 means an exact match on the official names. Lower scores mean spelling, phonetic or partial matching was needed. An ambiguous match is scored down.ambiguous: two candidates scored almost the same. Checkalternatives.unmatchedSettlement/unmatchedStreet: no candidate was good enough. Addresses with only a settlement (e.g. a kibbutz) return the settlement withunmatchedStreet: true.- A run summary (counts, data snapshot date, source IDs) is saved to the key-value store as
SUMMARY.
Accuracy (v0.1, snapshot 2026-10-28)
- Blind hand-written holdout set (35 messy addresses, written before the first run): 33/35 fully correct (94.3%) on the first run. It reached 35/35 after two general fixes.
- Synthetic stress test: 3,000 random real streets written in messy ways (missing or extra yod/vav, "רח'" prefix, city first, no quotes, apartment noise). 99.1% exact settlement+street match, and about half of the misses were flagged.
- Development set (45 addresses used for tuning): 45/45.
These numbers come from small test sets. Your data may score differently.
Limitations
- No English street names. The source lists streets in Hebrew only, so
streetNameEnis alwaysnull. English street input is matched phonetically (e.g. "Ben Yehuda" → בן יהודה), which can be wrong for unusual spellings. - English settlement names come from the source, which cuts them at 20 characters (e.g.
MODI'IN-MAKKABBIM-RE). - No geocoding (no coordinates), and no check that a house number actually exists on the street.
- A street with no settlement cannot be resolved reliably.
- A settlement name that is also a street name can confuse an address with no commas.
- The official list sometimes has several codes with the same street name in one settlement. Check
alternativeswhenambiguousis true.
Data source and attribution
Data: data.gov.il, Israel's national open data portal, from these datasets:
- רשימת ישובים בישראל (settlement list): https://data.gov.il/dataset/citiesandsettelments
- רשימת רחובות ישראל (street list): https://data.gov.il/dataset/321
- רשימת רחובות בישראל – קובץ עם סינונימיים (street synonyms): https://data.gov.il/dataset/israel-streets-synom
The data is used under the data.gov.il terms of use: https://data.gov.il/terms-of-use. The Actor bundles a snapshot (the date is shown in every result as dataSnapshot), and the maintainer refreshes it from the public CKAN API with npm run refresh-data. The data has been processed (normalised and indexed) and is not presented as official. Use of the data does not imply any sponsorship or endorsement by the State of Israel.
Local development
npm installnpm run refresh-data # optional: pull the latest lists from data.gov.ilnpm test # dev set, blind holdout set, synthetic stress testapify run # or: node src/main.js, with storage/key_value_stores/default/INPUT.json