Discover/feature API
live

feature APIfeature.fm

Fetch artist names, streaming service links, release dates, cover art, and link type from any feature.fm (ffm.to) shortlink via one API endpoint.

This API takes change requests — .
Endpoint health
verified 15h ago
get_presave_info
1/1 passing latest checkself-healing
Endpoints
1
Updated
15h ago

What is the feature API?

The feature.fm API exposes 1 endpoint — get_presave_info — that returns 10 structured fields from any ffm.to shortlink, including artist identifier, release title, cover art URL, link type (pre_release or post_release), streaming service list, and release timezone. Pass either a bare slug like swimteam or a full URL and get back the release metadata without loading the page.

This call costs1 credit / call— charged only on success
Try it
The feature.fm shortlink slug (e.g. 'swimteam') or full URL (e.g. 'https://ffm.to/swimteam').
api.parse.bot/scraper/d848e99f-9b0d-4025-b5ca-f207f08244ef/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d848e99f-9b0d-4025-b5ca-f207f08244ef/get_presave_info?shortlink=swimteam' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace feature-fm-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Feature.fm SDK — fetch release link metadata."""
from parse_apis.feature_fm_api import FeatureFm, LinkNotFound

client = FeatureFm()

# Fetch a release link by its shortlink slug
try:
    link = client.links.get(shortlink="swimteam")
except LinkNotFound:
    print("Link not found")
    raise

# Display core release metadata
print(f"{link.artist_name} — {link.release_name}")
print(f"Type: {link.type} | Layout: {link.page_layout}")
print(f"Pre-release: {link.is_pre_release}")
print(f"Cover art: {link.image_url}")

# List available streaming services
for svc in link.services:
    print(f"  Service: {svc.name} ({svc.id})")

# List social links
for social in link.social_links:
    print(f"  {social.platform}: {social.url}")

print("exercised: links.get")
All endpoints · 1 totalmissing one? ·

Fetches release information from a feature.fm shortlink (ffm.to). Returns metadata about the release including artist name, release title, link type (pre_release or post_release), release date, available streaming services with direct URLs, cover art URL, and social media links. Accepts either a slug or full URL as input.

Input
ParamTypeDescription
shortlinkrequiredstringThe feature.fm shortlink slug (e.g. 'swimteam') or full URL (e.g. 'https://ffm.to/swimteam').
Response
{
  "type": "object",
  "fields": {
    "url": "Canonical URL of the link",
    "type": "Content type (e.g. 'track', 'album', 'artist')",
    "title": "Full page title (typically 'Artist - Release Name')",
    "services": "Array of available streaming services with name, id, and direct streaming url",
    "short_id": "The shortlink slug",
    "timezone": "Timezone configured for the release",
    "artist_id": "Feature.fm internal artist identifier",
    "image_url": "URL of the release cover art image",
    "link_type": "Link type: 'pre_release' for upcoming releases or 'post_release' for released content",
    "object_id": "Feature.fm internal object identifier",
    "artist_name": "Artist name extracted from the title, or null if not parseable",
    "description": "Page meta description",
    "page_layout": "Page layout style used for the landing page",
    "release_date": "ISO datetime string of scheduled release, or null if not set",
    "release_name": "Release/track name",
    "social_links": "Array of artist social media links with platform and url",
    "is_pre_release": "Boolean indicating if this is a pre-release/pre-save link"
  },
  "sample": {
    "data": {
      "url": "https://ffm.to/swimteam",
      "type": "track",
      "title": "Christelle Bofale - Swim Team",
      "services": [
        {
          "id": "apple",
          "name": "Apple Music"
        },
        {
          "id": "itunes",
          "name": "iTunes"
        }
      ],
      "short_id": "swimteam",
      "timezone": "America/New_York",
      "artist_id": "5c98fee90e00000ba39ba6fa",
      "image_url": "https://cloudinary-cdn.ffm.to/s--wBEOO9At--/w_1108,h_1108,c_lfill/f_jpg/https%3A%2F%2Fd9nqml74o2sdi.cloudfront.net%2F39120619-fc4d-4582-bc82-bdb56020c2c3.6aa1b877-a0ba-4ed8-8bf5-9daba5ac3d87",
      "link_type": "post_release",
      "object_id": "5c98feeb0b000059f83e2c53",
      "artist_name": "Christelle Bofale",
      "description": "Choose your preferred music service",
      "page_layout": "action_page",
      "release_date": null,
      "release_name": "Swim Team",
      "social_links": [
        {
          "url": "https://www.facebook.com/christellebofale",
          "platform": "facebook"
        },
        {
          "url": "https://twitter.com/bofalebill",
          "platform": "twitter"
        },
        {
          "url": "https://www.instagram.com/christellebofale",
          "platform": "instagram"
        }
      ],
      "is_pre_release": false
    },
    "status": "success"
  }
}

About the feature API

What the API Returns

The get_presave_info endpoint accepts a single required parameter, shortlink, which can be either the slug portion of an ffm.to URL (e.g. swimteam) or the full URL (e.g. https://ffm.to/swimteam). The response includes the canonical url, the short_id slug, a title field formatted as Artist - Release Name, and a type field indicating whether the link points to a track, album, or artist page.

Release and Distribution Fields

The link_type field distinguishes between pre_release (upcoming release with an active pre-save) and post_release (already released content). The services array lists each streaming platform available for the release, with both a human-readable name and a machine-readable id. The image_url field provides a direct URL to the release cover art. The timezone field reflects the release timezone configured by the artist or label, which is relevant when interpreting release dates for pre-saves.

Artist and Object Identifiers

Two internal identifiers are returned: artist_id (the feature.fm artist account identifier) and object_id (the feature.fm identifier for the specific release or link object). These can be used to correlate multiple shortlinks belonging to the same artist across requests.

Reliability & maintenanceVerified

The feature API is a managed, monitored endpoint for feature.fm — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when feature.fm changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official feature.fm API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
15h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Detect whether an ffm.to link is a pre-save or a live release by checking the link_type field
  • Build a streaming availability matrix by parsing the services array across a catalog of shortlinks
  • Resolve an ffm.to slug to its canonical URL and cover art for display in a music newsletter
  • Extract artist_id to group multiple releases under the same artist without manual lookup
  • Monitor release status changes from pre_release to post_release by polling a list of shortlinks
  • Populate a release database with title, type, and timezone data derived from label-distributed shortlinks
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does feature.fm offer an official developer API?+
feature.fm does not publish a public developer API or documented REST interface for third-party access to shortlink or release data.
What does `link_type` actually distinguish, and can I tell the exact release date from the response?+
The link_type field returns either pre_release for upcoming releases that have an active pre-save campaign, or post_release for content that is already publicly available. The response includes a timezone field that reflects the configured release timezone, but a raw release date timestamp is not a separate top-level field in the current response shape.
Does the API return direct streaming URLs (e.g. Spotify or Apple Music links) for each service?+
The services array returns the name and id of each available streaming platform, but per-service deep links to the release on each platform are not included in the current response. You can fork this API on Parse and revise it to add an endpoint that resolves individual service URLs.
Can I look up all releases for a given artist using the `artist_id` returned?+
Not currently. The API covers single-shortlink lookups and returns an artist_id that identifies the artist account, but there is no endpoint for listing all releases or shortlinks associated with that artist. You can fork this API on Parse and revise it to add that listing endpoint.
Are there shortlinks that the endpoint cannot resolve?+
The endpoint expects a valid, publicly accessible ffm.to shortlink. Private, expired, or password-protected feature.fm links are not guaranteed to return a full response. Region-restricted releases may also return incomplete services data depending on how the link was configured by the artist or distributor.
Page content last updated . Spec covers 1 endpoint from feature.fm.
Related APIs in MusicSee all →
allmusic.com API
Search for music, browse artist biographies and discographies, and retrieve detailed album and song information all in one place. Discover new releases and access comprehensive metadata about artists and tracks.
spotify.com API
Search millions of songs and artists in Spotify's catalog, then dive deep into any artist's complete discography, top tracks, fan statistics, and similar artists they're connected to. Perfect for discovering new music, researching artist backgrounds, or building personalized music recommendations.
music.amazon.com API
Search and browse the full Amazon Music catalog to discover artists, albums, and tracks that match your interests. Find upcoming releases and get detailed information about your favorite musicians and their discographies.
musixmatch.com API
Search for song lyrics, metadata, and translations while discovering artist profiles, discographies, and album details all in one place. Build music apps that let you retrieve complete song information, explore artist catalogs, and discover new music through curated feeds.
tunebat.com API
Search music tracks and retrieve detailed audio characteristics like key, BPM, energy levels, and other metadata to analyze songs or build music applications. Perfect for developers who need comprehensive music data to power recommendations, playlist curation, or music production tools.
bandcamp.com API
Access Bandcamp's music catalog, artist profiles, album details, fan profiles, and live sales feed. Supports discovery with tag and location filters, full-text search across artists, albums, and tracks, and detailed metadata retrieval.
metal-archives.com API
Search and explore music data including bands, albums, songs, and lyrics, with the ability to discover artist recommendations, view band members and discographies, and look up record label information. Get detailed information about musicians, their releases, and recommendations based on your musical interests.
api.discogs.com API
Search and browse millions of music releases, artists, and labels to discover tracklists, formats, ratings, and complete discography information. Instantly access detailed release data including community feedback to build your music knowledge and collections.