From IndieWeb

A venue is a named location or address/geo that is typically used for checkins.

indieweb venues are the practice of self-hosting checkin venues (self hosted venues) on your own site with your own URLs.


You should host your own venues with your own URLs for all the usual longevity reasons, but also to give yourself the freedom of defining new venues by your own experience, not just by someone else’s map.

How to

How To Publish

Give each venue a URL containing a basic h-card. In this regard, a venue is kind of a special case of a wiki-page in that it is more of a timeless page than a post that has an explicit published date.

More "How to" TBD, see #Brainstorming.

Indieweb Examples

Barnaby Walters

Barnaby Walters has been publishing venue data on since 2014-08-19, consisting of:

gRegor Morrill

gRegor Morrill has been publishing venues on since 2015-11-12. Currently publishing each venue name, address, and URL with h-card. The events I publish then link to this URL to indicate the location.

On 2023-04-24, I updated the venue pages to include links to past events. [1]


Amy Guy has been publishing 'venues' on at since 2015-12-29. They're not real places, but a list of vague places I check in to (home, office, etc). Only contain name and description. Marked up with h-cards but also available as ActivityStreams2 Collections in JSON-LD and turtle. My checkin app burrow reads this list to present me with buttons to tap to check in.

David Shanske

David Shanske has been publishing 'venues' on his site since 2022-11-13. Prior to this, he mostly linked to external venues. At this time, the interface for creating venues remains auto-import from Swarm or manual creation separately from the post...but hoping in future to add a better local only interface.


capjamesg published a venue page for Lowdown Coffee, Edinburgh.

Prototype Examples

IndieWeb sites publishing things resembling venues, but not quite separate venue posts yet.


Tantek Çelik started posting a photo and searchable permalink for "Horizontal Control Mark" physical placements on 2016-10-10:

Related use-cases:

  • travel reminders — it can be particular useful to have your own easily linkable and editable list of venues for any particular city you might travel, for the purposes of personal curation, places you want to see/try, or places you want to return to. Whether sites, museums, cafes, restaurants, etc.

Past Examples

Kyle Mahan

Kyle's site is now unfortunately a zombie site, so links have been replaced with archived versions

Kyle Mahan used Red Wind to publish venue data on from 2014-10-26 (and manually backported venues to older location-only checkins) until 2016-01-19 (archived), and then live again since 2016-???, e.g.

Consisting of venue properties:

  • name
  • "geo" - locality, region
  • map
  • list of links to other posts that reference that venue permalink, e.g. checkin (archived) and event (archived) posts.

Red Wind maintains its own small database of venues (archived example). When creating a new checkin, it does a very simple exhaustive search to find the 10 nearest venues that have been checked into previously. e.g.,


Brainstorming How To

Brainstorming Publishing

Possible publishing extensions (encountered by indieweb community members in real world situations)

  • hours open (related format effort: )
  • subsets of hours open, i.e. more generally, hours *foo*
    • happy hours (discounted cover, drinks, and/or food)
    • hours that food is served
    • hours that kitchen is preparing food (as opposed to readymade / microwaveable food)
    • hours that full food menu is available
    • hours that evening-only food is available
    • hours that "breakfast" dishes are served
    • hours that espressos are served (some cafes start shutting down their espresso machines early, or bars too)
    • hours that a customers-only bathroom is open (e.g. at some gas stations [2])
    • current silo workaround (and future possible syndication)
      • Foursquare tips attached to those venues.
      • Indieweb transition strategy: import said Foursquare tips semi-automatically into indieweb venue URLs when said URLs exist and have rel-alternate URLs to equivalent Foursquare venues.

Brainstorming Design

Tantek Çelik Venue pages should have a clean and simple design, providing quickly readable information that someone looking up a venue would find most useful first, deferring other things to later in the page, or other pages.

Key information to convey (copied from post)

  • hours open (perhaps kitchen hours if different)
  • location (address that links to a map UI or map embed w/o cookies/tracking)
  • nearest bus/tram/rail stop
  • payment restrictions (e.g. if only cash, or only credit) or options if you prefer
  • contact info (including a note about catering if that’s an option)
  • links to social media profiles
  • links to restaurant review sites/aggregator pages (e.g. venue permalink on Google Maps, TripAdvisor, Foursquare, Swarm, HappyCow)
  • menu with item name, description, price, optional-thumbnail, and dietary/allergy notations

Design a good layout …

  1. primarily for viewing on a mobile device (narrow width) while on the go, as that’s a likely scenario for at least cafe/restaurant look-up
  2. secondarily for viewing on a laptop, perhaps two columns with information clustered accordingly, a map embed with the extra space to show context, etc.

Slug / page name/segment design —

  • all lowercase (less to remember, makes for a cleaner looking URL)
  • short name for the cafe/restaurant, dash-separated for indexing
    • by itself if there‘s only one instance
    • with a street name suffix if more than one (e.g. a local chain)
    • with street address suffix if more than one on same street (e.g. a bigger chain)

Micropub Query for Venues and Locations

A possible mp-venue query could be added to Micropub to support a client querying a site for venue URLs to display based on provided information(usually latitude, longitude, or keyword search).

See also:

Cross-site Venue Checkin UX Flow

  1. User A publishes a checkin on their indieweb site, with the venue marked up as an h-card (and possibly a link to a venue URI on the same site)
  2. User B is in the same area and sees the checkin. They decide to go to the same place.
  3. User B has a browser extension which parses checkin pages for h-card markup, and displays a “Check in to this venue on your site” button. They click it.
  4. User B is redirected to a form on their site for the creation of a new venue, auto-filled with information about the venue provided by the h-card
  5. User B checks in to their copy of the venue on their own site

Potential enhancements:

  • Perform venue creation and checkin in the same step
    • Example Implementation: automatically add machine tags to the checkin note with venue data, then have an event listener which picks up that the tagged venue doesn’t yet have a URI, and creates it
  • Link between venue pages on separate sites
    • Provides a decentralised yet consistent way to refer to a venue
    • Could allow an update to a venue on one site to trigger updates on other sites


I'd rather post a check-in on my own site, and have it use a venue URL that is *also* on my own site. Then at that indieweb venue URL, it can link to equivalents on Foursquare, OSM, FB, and whatever other centralized venue databases are created in the future. - Tantek [3]


Finding silo venue equivalent

How to find a silo venue URL equivalent, i.e. "How would you find the FB version of a venue?"[4]

Use-case: Using Bridgy Publish to POSSE an indieweb post with location information and have the location information propagate to the POSSE destination[5] (in particular Facebook[6], and/or Twitter[7]

Possible solution:

  • Your own venue URLs's representative h-card have u-url venue equivalent URLs for Foursquare, Facebook, Twitter etc.[8]
  • Bridgy could read that representative h-card, see if any its u-urls were on the domain of the POSSE destination, if so, use it to determine the location information for the POSSE destination[9]

UI for venues with silo equivalents

The challenge is making a non-insane UI for [10]

  • creating that original venue with links to silo equivalents
  • publishing a check-in (or other post with location info) that itself must create a new original venue as well

Possible solutions:

  • Start with "just add the markup to the text directly" UI[11]
  • 90% case: import your Foursquare and Facebook checkin history and create indie venues for all silo venues from the import. Then since most of the time you visit where you've already been, this handles the indie venue / silo venue connection for that part.
  • Interesting case: new venues

Overture Maps

It appears you can import venue information as needed from Overture Maps points of interest as long as you credit them and mention their license:

Centralized venues



Data loss

Experience with Foursquare's "community generated/patrolled venues database" is that a few griefers can pollute/damage the data quite badly, with deletions, overmergings etc. Sad to say, same thing happens with Wikipedia (excessive deletions, overmergings). Thus little hope that a "community hosted venues database" wouldn't have all the same problems, if not worse.

Related Sessions

IndieWebCamp sessions related to venues:

See Also