Author Archive

Listing Data Scraper


Launch a directory that looks alive from day one!
The Listeo Data Scraper fills your site with real listings and rich content in minutes.

It uses the Google Places API to fetch places and the OpenAI API to generate SEO‑friendly descriptions based on Google Reviews.

Just type what you want to import – e.g. “coffee shop in New York” – and let the magic happen.

Data available via Google Places API:
1. Business Name
2. Full Address
3. Geolocation (Latitude & Longitude for Map Pin)
4. Phone Number
5. Website
6. Google Reviews
7. Daily Opening Hours
8. Photos
9. Google Place ID
10. Google Business Types

💰 Cost Example: Importing 100 businesses typically costs $2-4 in Google API fees. Start with small batches and monitor your Google Cloud billing closely.

💡 Text Search costs vary – Finding 50 new listings might require searching through 100+ results due to duplicates. Google returns the same results for repeated searches, so use different queries to find more listings.

📊 Monitor usage – Set up Google Cloud billing alerts at $5, $25, and $50 thresholds

📌 You can find detailed usage here:
Quotas & System Limits
Google Maps Platform Core Services Pricing


Installation & How to use?

⚠️ Heads up! This is a community-made plugin adapted for Listeo. It uses Google Places data and storing that data in WordPress might go against Google’s Terms.

Use it responsibly – heavy or improper use could lead to API limits or account suspension. We do not take responsibility for any issues that come up. 🙂

  1. Go to https://purethemes.net/license/ and download Listeo Data Scraper plugin
    You’ll need purchase key: How to find my license key?
  2. Upload listeo-data-scraper.zip in WP Dashboard → Plugin → Add New and install & activate.
  3. Find Listeo Scraper in your WordPress sidebar go directly to Settings page where you can tweak some settings. We will not describe each setting here because they are well explained on plugin’s page. 🙂

    You’ll need two API keys
    – one for Google Places and one for OpenAI (optional). Follow the instructions below to set them up:
    Creating Google Maps API Key → – key should be restricted to your domain
    How to create Open AI API key? →

    We do not take responsibility for any charges from Google related to your usage. Please monitor your API usage regularly. 🙂

  4. Then go to “Import” page, specify business type/service you’d like to import and where.

    Hit “Run Import” and let the magic happen
    . For an example, we imported 10 “gym&fitness” places with AI generated description and 1 photo per listing.
    If you selected “Let me manually select places to be imported” you will need to confirm listings to be imported

  5. Once done you should see imported listings

    and here’s sample listing after import with all necessary data including AI-generated SEO friendly description
  6. Missing Google Reviews after import? You need to enable them in theme settings. How to enable Google Reviews?

FAQ
  • How much does it cost to import listings?

  • How can I import more listings?

  • Why can't I import all listings in my city at once?

  • Why does finding 20 new listings may require more than 20 API calls?

  • Photo storage and compliance with Google’s Terms of Service

  • How do 'Google scraping services' advertise openly on Google Ads if Google terms are so strict?

  • Why Google reviews are cached and not stored in database?

Plugin Changelog
2.4 - custom listing type categories support
2.3 - Separated API key field for map
2.2 - Better Google API errors notifications
2.1 - Map search with radius
2.0 - Added "regenerate images" option
1.9 - Added GPT-5-Mini model and description length setting 
1.8 - Fixed Google Reviews language and 24h opening hours format 
1.7 - Duplicated listing detection fix
1.6 - Option to manually select listings to be imported
1.5 - Added "Test Key" button to test google api key
1.3 - Added option to display pictures from Google servers
1.2 - Added "assign to region" dropdown
1.1 - Added "assign to category" dropdown
1.0 - Initial release

Listings Manager

If you want to extend listing management and AI features even further, check Listeo Listings Manager plugin developed by a fellow Listeo user  🙂 This is extra paid extension (but has free tier too) and we are not authors of it. ⬇️

Listeo Listings Manager

How to create Open AI API key?

  1. Create an OpenAI Account

    Go to https://openai.com
    – Click the “Log In” button (top right corner) and select API Platform.
    – Register using your email, Google, or Microsoft account.

    After signing up, navigate to API Keys https://platform.openai.com/api-keys
    – Click the “Create new secret key” button.
    – This begins the setup process for your API key.

  2. Generate Your API Key

    In the “Create new secret key” dialog:
    – Enter a name for your key (e.g., demo API key) to identify it later.
    – Choose the project (default is fine unless you have multiple projects).
    – Click “Create secret key”

    Your new key will be shown only once — copy it immediately.

    This key is what you’ll use in our data scraper and other tools that are coming soon

  3. Top up balance

    Minimal amount is $5 – rest assured it $5 will lasts forver in case of our listing scraper + AI review highlights 😉

    Go to Billing and click Add credits to balance

Regions Importer

This tool automatically adds all regions and major cities for any country in one click. It uses AI to fetch and create the full list—no manual input needed.

How to use?

  1. Navigate to Listings →  Regions Importer
  2. Pick Your Country & What to Import

    Select Country: Don’t see your country? Just add its language pack in Settings → General

    Choose Import Level:
    Regions → 5 Cities: This is the default. It gives you states with their 5 biggest cities nested underneath.
    Regions Only: This just gives you the states.

    Click Import Regions, wait a minute or two and done.

  3.  The page will refresh with a success message. You can now find all your new regions and cities under your ‘Regions’ taxonomy in Listings → Regions).
    And this is how regions look like in front-end with drilldown dropdown, nicely nested list.

Do I need Dokan & multi-vendor marketplace feature?

You only need Dokan if you want to enable the multi-vendor marketplace feature, which allows multiple sellers to list and manage their own products or services.

If you’re only interested in the listings and booking functionality, these are already built into the theme and do not require Dokan. You can simply disable the Dokan plugin if you don’t need the multi-vendor marketplace.


Use Case

For example, in this listing: https://listeo.pro/listing/georges-barber-shop/ the owner not only advertises their local business but can also run a store with barber accessories: https://listeo.pro/store/barbershop/

How to Translate a Theme Manually

We’ve got ready to use translation files however if you’d like to do it precisely on your own here’s guide

We assume that your WordPress is already in your language. If not, go to Dashboard → Settings → General and change the Site language.


Before you start!

To achieve 100% translation you have to translate Listeo Theme and following plugins: Listeo Core and Listeo Elementor

Loco Translate is for translating website from english to another language. If you’d like to have multi-language switcher consider using TranslatePress or Weglot plugin.


Let’s Start

Install plugin  Loco Translate.

Loco Translate

After successful installation go to Loco Translate → Themes you should see this screen:

Click Listeo (not Listeo ChildTheme) and in next step click New Language

Choose your language and select a location, makes sure it’s either System or Custom location, avoid Author location, this way you won’t lose translations if you update theme/plugins (more about it)

Click Start Translating. You should see that screen where you can translate each string that is used in theme

When you’re done, click Save, and it’s also recommended to click both “Po” and “Mo” buttons to save them on your PC as a backup.


Do I need to translate every word manually?

You can either translate each string manually (best accuracy) or use the Loco Auto Translate plugin. Some translations may need correction, but they also offer pro version which provides access to Google, DeepL, ChatGPT, and Gemini for more accurate translations.

Automatic Translate Addon For Loco Translate


Translate Plugins

To achieve 100% translation you also need to translate Listeo Core and Listeo Elementor plugins. The process is the same as translating theme. Go to Loco Translate → Plugins and start there.

How to disable time-picker for services?

Generally each booking for service listing type requires time to be set for a booking, this is either set by selecting available time-slot or picking time from time-picker.

If for some reason you don’t want users to be able to see/select the time picker option, here’s a small snippet that will get rid of it.

You can add code into your functions.php file in child-theme or use WP Code plugin:

How to add PHP snippets?

 

add_filter('listeo_core_service_timepicker_value', 'default_time');
function default_time($time)
{
	//return current time	
	return date('H:i');

}

Then go to Appearance -> Customize -> Additional CSS add this

.col-lg-12.listeo-service-timepicker {
display: none;
}

Flag / Report Listing

Listeo features a ‘Flag / Report Listing‘ option that allows users to report listings that violate the website’s terms. You can enable this feature in Listeo Core → Single Listing → Enable Flag/Report Listing. Once activated, a ‘Flag Listing’ button will appear in the sidebar of each listing.”

Admin can review each report in WordPress dashboard

No listings on map, location search doesn’t work

A listing will be shown on the map only if it includes geographical coordinates (specifically latitude and longitude).


How to make sure listings are geocoded (have lat/long)?

When adding listing in front-end you have to select address from dropdown, then lat/long fields will be autoamtically populated

Same principle applies in WordPress editor. Type address, hit “enter” and select address from the list. Lat/long will be automatically populated.


What indicates that listing is not geocoded?

Well, first of all you won’t see map widget on single listing page. Secondly when you edit it using WordPress editor lat/long fields will be blank

How does search by location works?

Spam Protection

Listeo comes with strong anti-spam protection, helping you block bots from registering fake accounts, posting spam reviews, or abusing your forms.

CleanTalk

No CAPTCHA, no questions, no animal counting, no puzzles, no math and no spam bots. Universal AntiSpam plugin. The authors of CleanTalk integrated their plugin with Listeo.

Spam protection, Honeypot, Anti-Spam by CleanTalk


Captcha

reCAPTCHA, hCaptcha, and Cloudflare Turnstile are security tools designed to differentiate between humans and bots, typically used on websites to prevent spam and automated abuse. They employ different methods of verification:

  1. reCAPTCHA v2 – Uses a checkbox (“I’m not a robot”) or image-based challenges (selecting traffic lights, crosswalks, etc.).
  2. reCAPTCHA v3 – Works invisibly in the background, assigning a risk score based on user behavior without requiring direct user interaction.
  3. hCaptcha Uses image-based challenges similar to reCAPTCHA v2.
  4. Cloudflare Turnstile A modern, privacy-focused CAPTCHA alternative
Privacy Security User Experience
hCaptcha ✔ Strong (GDPR & CCPA compliant, no tracking) ✔ High ✔ Faster, fewer challenges
reCAPTCHA ✘ Google collects user data ✔ High ✘ Can be annoying (image-based puzzles)
Cloudflare Turnstile ✔ No tracking, privacy-first ✔ High ✔ Invisible, frictionless for users

Captcha works for register page, claim listing page, booking, reviews.

  • How to configure Google reCAPTCHA?

  • How to configure hCaptcha?

  • How to configure Cloudflare Turnstile?


Email One Time Code

One Time Code email verification during registration which can be enabled in Listeo Core → Registration → Enable Email OTP Verification


SMS One Time Code

SMS Notification & OTP verification

How to add children and animals in booking

Go to the Listeo Editor and edit the Submit Rental Form (or other).

Click ‘Add New Field‘ and add  ‘Children Allowed‘ and ‘Animals Allowed‘ fields. Then, add the ‘Children Price‘ and ‘Animal Price‘ fields.

Save changes. You will see new settings for bookings in add listing form.