Skip to content

Create a Map

Murmurations provides a simple way to build customised maps and directories, with the added advantage that you can draw from, and add to, a large body of collaborative mapping data, so you don’t need to start from scratch and your mapping efforts will contribute to a growing body of open, interoperable data. When a node posts a profile to the index and has geolocation coordinates (i.e., latitude and longitude) included in its profile, it wil be plotted on the map. The synchronization between the map and index take place every minute.

Create a map of X (e.g., vegan shops) in your area

Suppose you want to create a map of ‘Vegan shops in Berlin’ to show on your website. Here’s how to do that using Murmurations:

See other examples of custom embedded maps.

Create a network map

Option 1: Create an embedded map

Option 2: Create a map from existing member data

If you already have a lot of data you can register this with the Murmurations index to avoid asking your members to make new profiles. The disadvantage of this method will be that you are the ‘owner’ of the data, making it harder for your members to edit and update their profiles themselves. However, the Murmurations WordPress Map Plugin recognizes the ‘authority’ of profiles according to their primary URL, so if a member wanted to update their profile on your map they could simply create a new profile and host this on their own website and the new profile data would be displayed instead of the original, since it would have greater authority. See this post for a demo.

To import an existing dataset and create a map:

  • Prepare your data as a CSV file by following the instructions using the example import file
  • Register your data with the index using MPG's Batch Importer
  • Create an embedded map showing the data you want (as per Option 1 above) or
  • Use the API to get the nodes you want and display them on your own custom map

Option 3: Use the Murmurations WordPress Map Plugin

The Murmurations WordPress Map Plugin makes it easy for anyone running WordPress to access data in the index, and to collect, filter, moderate and curate profiles in order to display customised maps and directories on their sites.

Search options

Use the search options and URL parameters explained below to create custom map views of geolocated data in Murmurations.


The default schema is the Organizations schema. Select a different schema if you want to narrow down the results to nodes whose profiles are based on a specific schema.


Search for nodes who have one or more tags associated to their profiles. For example: bio, demeter will return a list of nodes with either of these tags in the profile. Searching for demeter will only return nodes with that tag.

The tag search uses fuzzy matching, which means spelling differences/mistakes and partial word matches are possible.

Primary URL

The primary_url is usually the unique web address for an entity. For example, is the primary_url of the Murmurations project. Read this entry in the Schemas FAQ for more information about it.

Unlike with tags, the primary_url search is an exact match search. Typos and spelling mistakes will not be matched.

Last update time

Use the date/time picker to specify the moment after which the nodes were last updated in the index. This is a good way to find new nodes that have been added to the index, or who made recent updates to their profiles.

URL parameters for customised embedded maps

Search parameters

All of the above search options have corresponding URL parameters. For example:,commons&

There are two additional parameters that can be specified with the tags parameter:

  • tags_exact (true or false, default is false)
  • tags_filter (and or or, default is or)

When tags_exact is true, only exact tag matches will be returned (fuzzy matching is disabled).

When tags_filter is and, only results that contain all of the listed tags are returned.



The latter returns significantly fewer results than the former.

Localization parameters

You can set the center point and zoom level of the map with the following parameters:

  • lat
  • lon
  • zoom

For example, centering London:

And Berlin:

Controlling data size

With over 30,000 nodes in the index, it can take some time to load and then render them all on a map in a browser. See this discussion post for more details.

To narrow down the amount of data that loads and thus render the map faster, filter the ammount of data by schema or range:

Controlling data size with the schema or tags parameters

Map searches default to the Organization schema, so a search for the tag 'vegan' returns the URL:

To search all schemas for a specific tag remove the 'schema=organizations_schema-v1.0.0' part of the URL (e.g.,

Controlling data size with the range parameter

Set a center point on the map using the localization parameters described above, but add an additional range parameter (e.g., 10km or 6mi).

Here is an example loading all index data in the Paris area:

And the Berlin example from above with the range parameter set to 5 kilometers:

And 20 kilometers:

Depending on the range you set, you will need to adjust the zoom level accordingly to show all of the data within that range.

Hiding search parameter inputs

For a more compact view when you are embedding the map on your website or for mobile viewing, use the hide_search URL parameter.