For the complete documentation index, see llms.txt. This page is also available as Markdown.

Getting started

The Felt REST API allows you to programmatically interact with the Felt platform, enabling you to integrate Felt's powerful mapping capabilities into your own workflows and pipelines.

You are able to create and manipulate Maps, Layers, Annotations, Sources, Projects and more.

The REST API is available on select Enterprise plans. Reach out to our team to learn more or set up a trial.

Endpoints

All Felt API endpoints are hosted at the following base URL:

https://felt.com/api/v2

Create an API token

All calls to the Felt API must be authenticated. The easiest way to authenticate your API calls is by creating an API token and providing it as a Bearer token in the request header.

You can create an API token in the Developers tab of the Workspace Settings page:

You can generate as many API tokens as you need. Make sure to copy them to a secure location!

Learn more about API tokens here:

Authentication

Install our Python library (optional)

The easiest way to interact with the Felt API is by using our felt-python SDK. You can install it with the following command:

Example: Creating a new map

For map management beyond creation — reading details, deleting, moving between projects — see Navigating maps and workspaces.

Creating a new map is as simple as making a POST request to the maps endpoint.

You should see a response like this (trimmed for brevity):

Notice the "id" property. Every map has a unique ID, which is also part of the map's URL. Let's take note of it for future API calls.

Also part of the response is a "url" property, which is the URL to your newly-created map. Feel free to open it! For now, it should just show a blank map.

Example: Uploading a layer from a URL

This example uploads from a URL; for file uploads and monitoring processing, see Uploading files and URLs.

Now that we've created a new map, let's add some data to it. We'll need the map_id included in the previous call's response.

Felt supports many kinds of file and URL imports. In this case, we'll import all the recent earthquakes from the USGS' live GeoJSON feed:

Like maps, layers also have unique identifiers. Let's take note of this one (the layer_id field in the response) so we can style it in the next call.

You can see the uploaded result in your map:

Since we imported a live data feed, the points on your layer may look different.

Example: Styling a layer

For reading a layer's current style and more styling patterns, see Styling layers.

Layer styles are defined in the Felt Style Language, a JSON-based specification that allows customizing a layer's style, legend, label and popups.

Layers can be styled at upload time or afterwards. Let's change the style of our newly-created earthquakes layer so that points are bigger and in green color:

Go to your map to see how your new layer looks:

Since we imported a live data feed, the points on your layer may look different.

Example: Refreshing a live data layer

For refreshing file-based layers and the full refresh flow, see Refreshing live data layers.

Similar to a URL upload, refreshing an existing URL layer is just a matter of making a single POST request:

Now go to your map and see if any new earthquakes have occurred!

Next steps

Last updated

Was this helpful?