The Contact Database

Where every contact you collect is kept, de-duplicated and ready to export.

Everything you save from a campaign lands in one place: **Contacts**. It is your database, separate from the campaigns that found the contacts, so a contact survives even when its campaign is deleted. ## The tabs | Tab | What is in it | |---|---| | ✉️ **Emails** | Every saved email address. | | 📞 **Phones** | Every saved phone number, stored in international form. | | 🏢 **By site** | One row per website, with its emails and phones folded in. | | 📋 **Listings** | Listing Scraper records, read straight from their campaigns. | | 🚫 **Removed** | Contacts you deleted and websites you blocked. | On the left you can also narrow everything down by tool. ## Saving contacts from a campaign On a campaign's results, tick what you want and press **Save to database**, or save the whole campaign at once. The result tells you how many were added, updated, skipped as invalid, already known, or on your removed list. The checks on entry are stricter than during the crawl, so file names, image links and other rubbish that looks like an address never reach your database. ## No duplicates Each contact exists once per account. Email addresses are compared in lower case; phone numbers are converted to international form, so `0879319933` and `+359879319933` are the same contact. A contact found again by another campaign raises its **Times seen** instead of creating a second row. Set your default country in **Settings → General** — it is what makes local phone numbers comparable. Changing it later only affects new saves; on the Phones tab, **🔀 Merge duplicates** re-reads everything you already have and merges what turns out to be the same number. ## Removed, and blocking a site Deleting a contact puts it on the **Removed** list, so future crawls will not bring it back. Blocking a website removes its contacts and makes the crawler skip that site from now on. **Restore** lifts the suppression and puts the contact back into the campaign results it came from. ## Importing a CSV **📥 Import CSV** takes a file of up to 10 MB. Headers are recognised in English and Bulgarian (value, email, phone, имейл, телефон, domain, url, notes…), and the separator is detected automatically. Imported rows go through the same validation, de-duplication and removed-list checks as crawled data, and are labelled with the file they came from. ## Exporting Excel, CSV, TXT and JSON, always following the filters you have set. Emails and phones stay apart in every format — separate sheets in Excel, separate sections in TXT. Values that could be read as spreadsheet formulas are stored as plain text, so an exported file cannot run anything when it is opened.