Places Importer
Buy, from $79 a year

WordPress plugin for Voxel directory sites

Turn a Google Maps search into finished directory listings.

Places Importer finds businesses anywhere Google Maps lists them, pulls in their hours, photos, contacts and social links, writes a description with the AI provider you choose, and files everything into your own Voxel listing types. Businesses already in your directory are caught before they are imported again, and listings their owners have claimed stay protected.

Licenses for 1 site, 5 sites or unlimited. Every current feature keeps working if you don't renew.

100+Google and Outscraper data fields you can map to your own listing fields
500businesses from a single Skip Preview search, sent straight to the import queue
4AI providers to choose from: OpenAI, Claude, Gemini and Perplexity
3email contacts per business, with name, job title and phone when they are found

The problem

A directory is only as good as its listings, and listings take hours to build by hand

The theme looks finished on day one. Filling it with real businesses is the part that takes months.

Hand-building every listing

Copying a name, address, phone, seven days of opening hours, photos, social links and a written description from Google Maps into WordPress, one business at a time.

Blank fields

Rushed listings go live with no hours, no email, no social links and a one-line description. Visitors notice, and so do search engines.

Stale data

Businesses change their hours, phone numbers and websites. A directory that is right today drifts out of date unless someone keeps checking.

Duplicates

The same restaurant added twice, once by hand and once by an import, splits its reviews and confuses visitors. Preventing it is far quicker than cleaning it up later.

How it works

Three steps from a search to a finished listing

You work in the WordPress admin the whole time. New listings are saved as drafts by default, so nothing goes live until you publish it.

Find the businesses

Import one business by name with Single Import, or use Batch Import to pull in a whole area at once: every business matching a category or keyword within the radius you set, anywhere in the world. You can also pick a hotel, mall or plaza and find every business at that address.

Choose what to import

Batch Import shows up to 60 results per search in a preview table (up to 20 when you search without a category or keyword) and locks the ones already in your directory, so you only spend credits on new businesses. For bigger runs, Skip Preview sends up to 500 results per search straight to the queue.

The queue builds the listings

Queue as many businesses as you like. The queue works through them in the background until every one is done, mapping each record to your fields, writing the description, matching your categories and checking social links. Anything uncertain waits on the Enrichment Review screen instead of going onto a listing.

Time saved, estimated

Work out what it saves on your own directory

Change the two numbers to match your directory. The assumptions behind the result are listed beside it.

Change this to match how long a listing takes you. 20 minutes is our estimate.
33 hours 20 minutesof your own time, building every listing by hand
About 34 minutesof hands-off background processing. It varies with connection speed and how much each listing includes, such as photos and AI writing.

Assumptions behind the numbers

  1. By hand: a complete listing with name, address, phone, hours, several photos, social links and a written description.
  2. With the importer: queue as many listings as you like. The queue works through them automatically in the background, about 3 a minute on the default settings, until every one is finished. You can close the browser while it runs.
  3. What changes the pace: each listing waits on Outscraper and on your AI provider, so many photos or deeper AI research settings take longer per listing.
  4. Keeping the queue on schedule: WordPress runs scheduled tasks when the site has visitors. On a quiet site, a server cron job (a standard hosting setting) keeps the queue running on time.
  5. Your time with the importer: setting up the search, choosing results and checking the review screen. That is not included in the processing figure.

What you get

Complete listings, and the checks that keep them right

Each of these is covered in detail on the Features tab.

Every field filled from one import

Address and map location, phone numbers, website, opening hours, photos, emails and named contacts, social profiles, and menu, booking and ordering links, each written to the field you choose.

If it is on the business's Google Maps listing or its own website, the importer can bring it in. What a business has never published anywhere cannot be imported, so a listing is only as complete as the business's own public information.

A written description for each business

Choose OpenAI, Claude, Gemini or Perplexity. Built-in style rules tell the AI to state facts, never invent details and avoid the usual travel-brochure phrases. If an AI call fails, the listing keeps Google's own description instead of an empty field.

When a provider announces that a model will be retired, the plugin warns you in advance and switches to the named replacement 7 days before the retirement date.

Built around your own listing types

Every Voxel site is set up differently. The importer maps Google and Outscraper data onto the post types, fields and taxonomies you have built, and for each taxonomy field you decide whether new terms may be added. Attributes such as amenities, payment options and dining options can be sorted across your existing taxonomies, with anything uncertain held for your approval.

Duplicates stopped at the door

Businesses already in your directory are recognised by their Google place id before import, and likely matches by name are flagged for you to check. Merge Duplicates combines pairs that are already in your directory.

Owner-managed listings protected

Listings their owners have claimed are skipped by bulk updates unless you switch that on. When you do, every change is reversed on the spot and sent to Enrichment Review for your approval.

Listings that stay current

Data Enrichment refreshes the fields you pick on the listings you pick, in bulk or one listing at a time, with an option to fill only the fields that are still blank. A business that has changed its name gets the new name as its listing title, and the listing keeps its web address.

Who it is for

Built for people who run directories on Voxel

Directory owners

Launch with hundreds of complete listings instead of a handful, and refresh them in bulk whenever you choose.

Agencies

Deliver a client's directory already populated. Field mappings are set once per listing type and reused on every import.

City and travel guides

Cover a city, a region or a whole country: restaurants, hotels, tours and shops, each filed into its own listing type.

Chambers and associations

Seed a member or business directory from public listings, then let members claim and manage their own.

Directory location, search language and region, distance in kilometres or miles, local currency and WhatsApp country codes are all settings, so it works for a directory anywhere in the world.

Proof

Independently audited, and tested on a live directory

A plugin that writes to hundreds of listings has to be trustworthy. This is how it is checked.

Independently audited

Before release, six independent auditors and a separate grader reviewed every file of the plugin. They confirmed 24 problems, none of them serious enough to endanger security or data, and all 24 were fixed. The independent code auditor scored each of the last three builds before release 99 out of 100. The original plugin this was forked from scores 69 under the same rules.

Tested on a real database

Releases are installed on a copy of a live directory and run through checks covering imports, updates, owner-listing protection, merges and settings. The builds leading to 3.2.0 passed all 79 runtime checks on PHP 8.2, and on PHP 8.4 passed 78 with one skipped by design. The unused photo tool was run on 50,000 photos within a 256 MB memory limit on MySQL 5.7, MariaDB 10.6 and MySQL 8.0.

Used every day

It runs a live production directory, importing real businesses, and its installed files are checked byte for byte against the release package.

Read the full release history and audit results

Built on one rule:
Bad data is worse than no data.

When the importer is not confident about a social link, an attribute match, a neighbourhood or a parent listing, it does not guess. The item goes to the Enrichment Review screen with the reason shown, and the listing stays as it is until you approve it. A logo, price tier, neighbourhood or parent listing you have set is kept.

Start filling your directory

From $79 a year for one site at the founding price, with 5-site and unlimited yearly licenses, and 1-site and 5-site lifetime licenses for the first 100 buyers.