๐Ÿ“„

Add many places at once

From a spreadsheet, or from your own system

โ† Back to map | API docs | Posting Guidelines

๐Ÿ“„ A spreadsheet (no code)

Make a sheet with a row per place, save it as CSV, and import it. Best for a one-off list or a monthly calendar.

Download the template Open the importer

๐Ÿ› ๏ธ From your own system (API)

Your website or calendar posts and updates its notes itself. Best for something that changes every week.

Get an API key Read the API docs

The spreadsheet route

  1. Step by step
  2. Columns it understands
  3. How places are found
  4. Limits and house rules

1. Step by step

  1. Make the sheet. Start from the template or your own: one row per place, column names in the first row. In Google Sheets or Excel, save it as CSV.
  2. Open the importer: on the map, Lists โ†’ ๐Ÿ“„ Import (or this link). You need a LeelaMaps account; it's free. Then either:
    • Choose the file;
    • paste the CSV ("Or paste the CSV"): handy when the sheet is open somewhere else, or an assistant is doing it for you; or
    • give a link ("Or from a link"): a .csv address, or a Google Sheet shared as "Anyone with the link". Each tab is its own link: open the tab and copy the address.
  3. Check the columns. Each column's job is guessed from its name; change any guess that's wrong.
  4. Review. Each row shows where it will go and what it carries (๐Ÿ“… an event, ๐Ÿ–ผ๏ธ photos, ๐Ÿ”— a link, โš ๏ธ something similar already nearby). Untick any row to skip it.
    • Where are these places? Type the town (e.g. Gainesville, FL) when your rows name venues rather than street addresses.
    • Privacy: everyone, friends, or just you, for rows that don't say.
    • Events: a row with a date becomes an event in the place's library, with its times and venue. Rows with the same title at the same place become one place with several dates (untick "Combine rows" to keep them apart). Tick Take RSVPs for events that don't say, and use Repeats (weekly, weekly: Tue, Thu, monthly) for a regular event instead of a row per date. A Ticket price ($15, $10-25 sliding scale, pay what you can, free) lets people request a ticket; you arrange payment, or turn on card payment for that event in the app.
    • Timing: Publish on holds a place back until a date; Archive after takes it off the map after one (or never); Reposts brings it back weekly, monthly or yearly; Season (Mar 15 - Jun 30) dims it, or hides it, the rest of the year. Status puts a live status on the pin (๐ŸŸข Open now), for as long as Status for says.
    • Readers can add to these: who else may add photos, links and words to each place (anyone, friends, people there, or no one), and whether it waits for your OK first. A row's own Readers can add / Approve additions wins.
    • Pins for these: a colour and a style for every pin, unless a row has its own Pin colour / Pin style.
    • Save as drafts to check them on the map before anyone else sees them; publish later.
    • A list description: everything lands in one list named after the file.
  5. Import. A big sheet takes a few minutes; keep the window open. The report says what was made, which rows were skipped and why, and which places may already be on the map. Undo removes the whole import.

2. Columns it understands

Column names are matched loosely: case, spaces, _ and - don't matter. Each place needs a where: Latitude + Longitude, an Address, or a Venue.

ColumnWhat it does
Title
name, title, place, label, placename
The place's name: the note's first line.
Description
desc, text, note, notes, details, description
The words under the title.
Address
addr, street, address, location
A street address we look up. Full addresses work anywhere.
Venue
venue, where
A venue name, used when there is no address: give the town in the cell, or fill in "Where are these places?".
Latitude
y, lat, latitude
With Longitude: the exact spot, no lookup needed.
Longitude
x, lng, lon, long, longitude
With Latitude.
Event date
day, date, when, eventdate, startdate
Makes the row an event: Oct 25, 2026 ยท 10/25/2026 ยท 2026-10-25.
Start time
time, start, starts, begins, starttime
7:30 pm, 19:30, or a date and time together.
End time
end, ends, finish, endtime
As Start time.
End date
enddate
For an event over several days.
Event title
event, eventname, eventtitle
The event's own name, when it isn't the place's (place: Bo Diddley Plaza; event: Pumpkin Bash).
Event details
eventinfo, eventnotes, eventdetails, eventdescription
The event's own description.
RSVP
rsvp, rsvps, takersvps, rsvpenabled, registration
yes or no: whether the event takes RSVPs. Blank: the importer's "Take RSVPs" setting.
Capacity
spots, seats, capacity, maxpeople, maxattendees
How many people can RSVP.
Repeats
repeat, repeats, recurring, frequency, recurrence
weekly (on its own weekday), weekly: Tue, Thu, or monthly.
Archive after
expiry, archive, expires, archiveon, hideafter, expirydate, archivedate, removeafter, archiveafter
A date the place leaves the map (it stays in your archive), or never. Blank: an event archives after its last day; other places stay.
Publish on
golive, poston, goeslive, postdate, publishon, publishat, publishdate
A date (or date and time) it goes live; until then only you see it.
Reposts
repost, reposts, republish, repostevery, repostsevery
weekly, monthly or yearly: it comes back to the top of the map on that cycle.
Season
season, seasons, inseason, seasonal
When it is in season: Mar 15 - Jun 30, June-August, summer. Out of season it is dimmed (or hidden: your choice when importing).
Status
status, statusnow, statuslabel
A live status on the pin: an emoji and a few words (๐ŸŸข Open now, Sold out).
Status colour
statuscolor, statuscolour
The status's colour: a pin colour name or #hex.
Status for
statusfor, statusuntil, statuslasts, statusexpires, statusduration
How long the status lasts: 2 hours, 3 days, a date (a week at most). Blank: until you clear it.
Readers can add
whocanadd, additions, readersadd, readerscanadd, letreadersadd, contributions, readeradditions
Who else may add photos, links and words to the place: anyone, friends, people here, or no one. Blank: the importer's setting (anyone, as in the app).
Approve additions
approvefirst, approvereaders, reviewadditions, approveadditions, moderateadditions
yes: what readers add waits for your OK (the default); no: it shows straight away.
Ticket price
entry, cover, entryfee, admission, ticketcost, ticketprice, covercharge, ticketsprice
$15 (a fixed price), $10-25 (a sliding scale), "pay what you can", or free. People request a ticket and you arrange it; card payment can be turned on per event in the app.
Photo
img, image, photo, images, photos, picture, imageurl, photourl
A link to a photo (or several, separated by spaces or |). Each is copied in.
Link
url, web, link, ticket, website, tickets, moreinfo, ticketurl
A website or ticket page; it shows as a card.
Price
cost, price
Dollars, on the first photo (or the link).
Tags
tag, tags, labels, hashtags, category, categories
Words separated by commas or semicolons.
Privacy
privacy, audience, visibility
public, friends, friends of friends, or private. Otherwise the importer's default.
Emoji
icon, emoji
The pin's emoji.
Pin colour
color, colour, pincolor, pincolour, markercolor, markercolour
red, orange, yellow, green, teal, blue, purple, pink, dark, or a #hex colour.
Pin style
pin, style, pinstyle, markerstyle
circle, glow, ring, diamond, dot or pin.
Email
mail, email, e-mail, emailaddress
Invites that person, and can share their own place with them.

3. How places are found

  • Latitude and longitude are used exactly.
  • A full street address (401 E University Ave, Gainesville, FL) is found anywhere.
  • A venue name (Bo Diddley Plaza) is found when the cell also says the town, or when you fill in Where are these places?.
  • We never guess. A row we can't place for sure is skipped and named in the report ("venue name only", "only matched a town", "too far from the area you gave"); fix it and import that row again.
Photos are copied into LeelaMaps when you import, so the link only has to work once. A photo that can't be copied is skipped; the place is still imported, and the report says which.

4. Limits and house rules

  • Up to 500 rows a file, 5 imports an hour, and 3,000 rows a day.
  • Imported places earn no Loops and send no notifications; they're on the map for whoever looks.
  • Everything follows the Posting Guidelines.
  • For something that changes every week, the API can update the same notes again and again instead of making new ones.
Stuck, or need more than these limits? Send feedback from the map's menu and say it's about importing.

๐Ÿ“ LeelaMaps  ยท  Developers  ยท  Posting Guidelines  ยท  Terms of Service  ยท  Privacy Policy