A record from a professional directory must carry where it came from, when, and under what terms. Source field design, status handling, and where to stop.
Key takeaways
- An official register gives you an organisation, not a contact. The Ministry of Justice associations database on data.gov.il holds 75,726 records across 23 content fields covering name, address, activity classification and status - and contains no phone column and no email column.
- A directory is a snapshot with a status field. In the first ten thousand rows of that database by record id, which are the oldest registrations, 6,005 are marked deleted and only 3,617 are marked registered.
- Two dates in the same row can arrive in two different formats. The registration date reads 17/05/1981 while the status update date reads Nov 3 2019 7:24AM.
- Israel's Protection of Privacy Law, 5741-1981 exists, Amendment 13 to it exists, and the Privacy Protection Authority publishes guidance material. What is required or permitted in a specific case is a question for a lawyer or for the Authority, and does not follow from this article.
- If the directory is visible only to signed-in users, or blocks automated access, it is not a source. Record a gap and move to an open one.
A record taken from an association membership list or a professional directory has to carry three things with it: which source exactly, the date it was pulled, and the terms the source was published under. Without all three you cannot answer the question "how did you get my details" after the fact, and that is the question that gets asked.
This is a technical description of record structure and source documentation, not legal advice.
What an official register actually gives you
The answer that surprises people is that an open government database describes a legal entity rather than a human being you can telephone. The Ministry of Justice associations database publishes, per association, fields such as association number, Hebrew name, association status, sector activity classification, address locality, address street, and the association's stated purposes.
What is not there is any field identifying a person: no contact name, no phone number, no email address. The practical consequence is that an association record from the official register is not a lead. It is an organisational anchor that somebody will have to complete from another source, and that completion is exactly where confusion about provenance begins.
- The entity and the address came from the official register, and that has documentation.
- The phone number came from the organisation's own website, and that has different documentation.
- The contact person's name came from a third place, and if that has no documentation it is effectively sourceless.
When all three parts sit in one row with no marking, the record looks uniform and is not. A source field at row level hides this. A source field at field level exposes it.
How do you record provenance so the question can be answered later?
The rule is that the answer to "how did you get my details" must be reconstructible from the record itself, without asking whoever built it and without relying on memory.
| Field | What it holds | Why there is no answer without it |
|---|---|---|
| Source identifier | Register or directory name, in a fixed form | "We found it online" is not an answer |
| Resource address | The precise endpoint or file | A large directory is dozens of different pages |
| Retrieval date | When the information was taken | Not the same as the source's own update date |
| Terms of use | A link to the terms as they stood that day | Terms change and cannot be reconstructed later |
| Record fingerprint | A hash of the raw values | Proves the record has not been altered since |
| Field-level source | Which source each field came from | A composite record is not one source |
| Importer | The process or the person | Without it there is nobody to take a question back to |
The fourth field is the forgotten one. A directory's terms of use are not an eternal document, and if you did not keep a copy or a hash of them on the day you pulled, you have no way to show what you were working under. Storing the text is cheap, and its absence surfaces only when it is already too late.
What to do with a status field and with dates
A directory is not a list of active organisations. It is a list of records with statuses, and skipping that distinction costs money.
In the first ten thousand rows of the associations database by record id, the split is 6,005 marked deleted, 3,617 marked registered, 275 voluntarily wound up and 55 under a court winding-up order. It matters to say what that does and does not show: the slice is biased, because the record id tracks registration order and these are therefore the oldest entries. It does not represent the whole file. What it does prove is that a directory file contains a great many organisations that no longer exist, and that filtering on status is not optional.
- Read the status field before any other filter.
- Filter on an explicit list of values, not on "not empty".
- Keep the status in the record, so it can be rechecked on the next pass.
- Handle date formats per column, because they are not consistent.
- Never convert a date without keeping the raw string.
The formats really do differ. Within the same row, the registration date arrives as 17/05/1981 while the status update date arrives as Nov 3 2019 7:24AM. A single converter assuming one format gives you false calm and then silent errors downstream.
What the law says, and what this article does not say
Israel's Protection of Privacy Law, 5741-1981 exists and regulates the subject of databases. Amendment 13 to that law exists. The Privacy Protection Authority is the body that publishes guidance material on the subject. The Ministry of Justice publishes on data.gov.il the register of databases, which at the time of checking holds 32,010 rows with fields such as database number, database name, categories of information, purposes, and database status.
Those are facts with an official publication you can check. What is deliberately not in this article: no statement of what you are allowed to collect, no statement of when consent is required, and no conclusion about marketing outreach. Questions of that kind depend on circumstances and on the law, and the address for them is a lawyer or the Privacy Protection Authority. The privacy angle on a customer spreadsheet is discussed in a customer spreadsheet and Amendment 13, and the technical side of public collection in is web scraping legal in Israel.
Why do directory names not match your names?
Because the official files pass through an encoding conversion that replaces the Hebrew double-quote mark with another character. In the ten thousand rows I checked, 6,482 of the Hebrew names contain a tilde where the gershayim should be, so the non-profit suffix appears as (ע~ר) rather than (ע"ר). Company names in the Registrar of Companies file show the same thing, appearing as בע~מ.
- Normalise that character before any name comparison.
- Strip the corporate suffix into a separate field rather than out of the name itself.
- Keep the raw name, because it is the evidence of what the source published.
- Never send the raw name in outreach. (ע~ר) in an email opening tells the recipient exactly what happened.
- Check an English-name field before relying on it: in the slice I measured it is empty in 9,884 of 10,000 records.
That last field is a good example of the gap between what a schema promises and what a file delivers. A column that exists is not a column that is populated, and a design assuming every organisation has an English name will break on most of the records.
Sources
Frequently asked questions
Is an open professional directory an acceptable source?
If the content is shown to anyone with no login and no block, it can be read like any public page, with the source and date documented. What you may then do with the details is a separate question that depends on the law and the circumstances, and does not follow from the page being open.
Should I keep the raw file I downloaded?
Strongly worth it. When somebody disputes a data point, the raw copy from that day is the only evidence of what the source actually published. It is also the only way to notice that the source changed structure, instead of discovering it through fields that quietly emptied.
How do you answer a customer asking where you got their details?
From the record. Pull the source identifier, the retrieval date and the field each detail came from, and answer factually. If the answer requires reconstructing it from the memory of whoever built the pipeline, the record structure is the problem, not the question.
What do you do with a record that has no documented source?
Mark it as sourceless and do not use it for outreach. You can try to locate the source again and re-mark it, but you do not invent provenance after the fact. A record whose origin cannot be explained is an operational risk before any other question is even discussed.
Keep reading
scraping
Competitor Monitoring: Treat a Website, Product, or Message Change as an Event Requiring Context
scraping
Competitor Prices From Zap: Keep a Time Snapshot and Do Not Turn a Results Page Into a Price List
scraping
Businesses Without a Website: Build a Lead List Without Inventing Details or Bypassing Restrictions
Related service
Lead Management
Catch every enquiry, route it, chase it, and see which source pays.
About the author
Yehonatan Saadia
Freelance automation, web & MVP developer
I'm Yehonatan Saadia, a senior developer who builds business automation, custom websites, and MVPs for small and mid-sized companies across the US, Europe, and Israel. These guides come from real client work, not theory.
Work with meHave a project like this?
Tell me what you're trying to automate or build. I reply within 24 business hours with a few targeted questions, then we walk through it on a free 30-minute call, with no commitment. You come away with a scope, a timeline and a fixed price - or a straight answer that it isn't worth building.
