Import Listings from a CSV

Upload a CSV or JSON file in Directory > Tools > Import / Export and let the plugin match your columns to listing fields.

Import a spreadsheet of businesses in Directory > Tools > Import / Export and the plugin matches your columns to listing fields for you. It suits anyone who already has their businesses in a CSV or JSON file.

Importing 12 Milton Keynes businesses from a CSV, from upload to live listing pages.

Before you start

  • You need an administrator account.
  • Your file must be .csv or .json and up to 25MB.
  • Only a name column is required. Everything else is optional.

How to use it

  1. Go to Directory > Tools and open the Import / Export tab.
  2. Optional: click “Download sample CSV” to see the layout. It has Name, Description, Category, Address, City, Phone, Email, Website, Lat and Lng.
  3. Drop your file on “Drop your CSV or JSON file here”, or click the zone to browse.
  4. Wait while the columns are read. The summary then shows how many columns were mapped and how many are “kept as extra detail”.
  5. Check the Column mapping list. Change any dropdown that looks wrong, or pick “Keep as extra detail” to store that column without mapping it.
  6. Under Import Options, choose “Pending review” or “Publish now”.
  7. Leave “Skip duplicates” on to avoid copies, or turn on “Update existing listings” to refresh matches instead.
  8. Click “Import 12 Listings” (the number is your row count).
  9. When “Import complete” appears, open All Listings to see the new entries.
Import ListingsUpload a CSV or JSON file to bulk-import listingsDownload sample CSV Drop your CSV or JSON file hereor click to browse, up to 25MB
Directory > Tools > Import / Export: drop a file on the zone or click to browse.
mk-import.csv• 12 rows× Change file 5 mapped to fields, 0 kept as extra detail.SMART MATCH Column mappingNamee.g. New Hong Kong→Listing Name *▾Categorye.g. Chinese Restaurant→Category▾Addresse.g. Unit 1, Midsummer Boulevard→Street Address▾Phonee.g. 01908 000000→Phone Number▾Websitee.g. https://example.test→Website URL▾
Each CSV column shows a sample value and a dropdown. The blue outline marks a mapped column; the first option in every dropdown is “Keep as extra detail”.

Publish or pending

The default is “Pending review”, so nothing goes live until you approve it. Choose “Publish now” to make every imported listing live straight away.

Import OptionsPublish status Pending reviewPublish now Skip duplicatesMatches by Google Place ID, then email. Re-importing the same file will not create copies.Update existing listingsWhen a duplicate is found, refresh it instead of skipping.AI-enrich descriptionsGenerate a richer description for each new listing (uses your AI key, slower). Import 12 Listings
Options as shown in the plugin, with “Publish now” selected as in the video. An “AI-generate FAQs” toggle sits below “AI-enrich descriptions” (not drawn).

Extra details, duplicates and locations

  • Columns you do not map, and columns the plugin does not recognise, are saved on the listing as extra details. They are not dropped.
  • Rows with an empty name are reported as row issues and not imported.
  • With “Skip duplicates” on, a row is skipped when a listing already exists with the same Google Place ID, the same title, or the same email.
  • When a row has an address but no latitude, the plugin tries to geocode the address (address, city, region, postcode and country joined together) and saves the coordinates if it finds a match.
  • Files with hotel, restaurant or rental columns are detected, and those columns are saved as type fields.

Optional AI column mapping

The plugin always runs its own Smart match first. If some columns are left unplaced and an AI key is set up, the AI is asked only about those columns and the summary badge reads “AI-assisted”. Without a key, or if the AI call fails, the Smart match result stands and the badge reads “Smart match”.

Two more toggles, “AI-enrich descriptions” and “AI-generate FAQs”, use your AI key and make the import slower. Both are off by default.

Import complete 12 / 12100% Imported 12Updated 0Skipped 0 Import another file
The counters after the import finishes.

Good to know

  • Maximum file size is 25MB. Large files are uploaded in chunks and imported in batches with a progress bar.
  • Defaults: Publish status is Pending review, Skip duplicates is on, the other toggles are off.
  • Files that look like a Google reviews export are detected and offered as a reviews import instead (“Import N reviews”).

FAQ

Which columns do I need?

Only a name column. Names such as Name or Title are matched automatically, and you can pick “Listing Name *” by hand if needed.

What happens to columns that are not recognised?

They are kept on the listing as extra details, so no data is lost.

Will running the same file twice create copies?

Not while “Skip duplicates” is on. Turn on “Update existing listings” if you want matches refreshed.

Do I need an AI key?

No. Smart match works without one. A key only helps with columns the built-in matching cannot place.

Can I undo an import?

Choose “Pending review” so you can check the results before anything is public, then delete or edit listings from All Listings.

In section: Getting Started Updated September 29, 2026
AI Search Optimized by AEO God Mode (opens in a new tab)