Back to Directory/Search & Knowledge

Lots of Sounds

CC0 sound effects API for AI agents — search, preview, and download via MCP.

Search & KnowledgePythonv1.0.0

Free Sound Effects API

A public, no-key API for searching and previewing curated free sound effects. Built for apps, games, videos, automation, and AI agents by Lots of Sounds.

  • No API key for the sample list and sample streams
  • Structured JSON with IDs, descriptions, tags, and durations
  • CC0 sound effects in the sample collection
  • No audio binaries stored in this repository

Looking for a maintained Freesound API alternative? Start with the free sample endpoint below, then use the full Lots of Sounds API when you need catalog search, filters, and downloads.

Quick start

curl -G "https://api.lotsofsounds.com/api/v1/sounds/sample" \
  --data-urlencode "q=door knock" \
  --data-urlencode "limit=6"

No account or API key is required. The response contains up to 12 curated samples:

{
  "data": [
    {
      "id": "fs-133889",
      "name": "Large Wood Door Knocking",
      "description": "Knocking on a door to a large entry",
      "tags": ["door", "knocking", "wood"],
      "duration": 2.86766,
      "stream_url": "/api/v1/sounds/sample/fs-133889/stream"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 6,
    "total": 6,
    "totalPages": 1
  }
}

The example is abbreviated; fields and matching results can change as the curated sample set improves.

Free endpoints

MethodEndpointAuthenticationPurpose
GET/api/v1/sounds/sampleNoneList or search curated samples
GET/api/v1/sounds/sample/{id}/streamNoneGet a temporary stream URL

Search samples

Use q for a text query or tags for comma-separated tags. limit accepts 1 through 12.

curl -G "https://api.lotsofsounds.com/api/v1/sounds/sample" \
  --data-urlencode "tags=door,knock" \
  --data-urlencode "limit=6"

Stream a sample

Use the relative stream_url returned with a sound:

curl "https://api.lotsofsounds.com/api/v1/sounds/sample/fs-133889/stream"

This returns JSON containing a time-limited stream_url; it does not put an MP3 in this repository.

JavaScript

Requires Node.js 18 or newer.

const params = new URLSearchParams({ q: "notification", limit: "6" });
const response = await fetch(
  `https://api.lotsofsounds.com/api/v1/sounds/sample?${params}`,
);

if (!response.ok) {
  throw new Error(`Lots of Sounds returned HTTP ${response.status}`);
}

const { data } = await response.json();
console.log(data);

Run the complete dependency-free example:

node examples/javascript.mjs "notification"

For a typed client that also supports authenticated search, metadata, and downloads, see lotsofsounds/sound-effects-api-js.

Python

The included example uses only the Python standard library:

git clone https://github.com/lotsofsounds/free-sound-effects-api.git
cd free-sound-effects-api
python3 examples/python.py "notification"

Or use requests directly:

import requests

response = requests.get(
    "https://api.lotsofsounds.com/api/v1/sounds/sample",
    params={"q": "notification", "limit": 6},
    timeout=20,
)
response.raise_for_status()
print(response.json()["data"])

AI agents

Agent skill

This repository includes a dependency-free find-free-sound-effects skill. Copy that directory into your agent's skills directory, or point your agent at the checked-out repository.

Example request:

Find a short, calm notification sound for an AI assistant.

The skill searches the free endpoint, compares metadata, and requests a temporary stream URL for the selected sample.

MCP server

Lots of Sounds also provides a hosted Model Context Protocol server:

claude mcp add lotsofsounds --transport http https://api.lotsofsounds.com/mcp

The browse_samples MCP tool works without authentication. Full-catalog tools require an API key:

claude mcp add lotsofsounds --transport http https://api.lotsofsounds.com/mcp \
  --header "x-api-key: $LOS_API_KEY"

Cursor, ChatGPT, Claude Desktop, Windsurf, and other Streamable HTTP clients can connect to the same endpoint. See the MCP setup guide for client-specific configuration.

Full API

The public samples are intentionally small and curated. The authenticated API adds:

  • Natural-language catalog search
  • Tags, category, duration, sorting, and pagination
  • Full sound metadata
  • Time-limited stream and download URLs
  • Higher production limits
curl -G "https://api.lotsofsounds.com/api/v1/sounds" \
  -H "x-api-key: $LOS_API_KEY" \
  --data-urlencode "q=gentle notification chime" \
  --data-urlencode "max_duration=2"

Read the API docs, compare plans, or sign up and create an API key.

Keep API keys on the server. Do not expose LOS_API_KEY in browser bundles or public repositories.

Lots of Sounds vs. the Freesound API

Both services help developers find sound effects, but this project is not a drop-in implementation of the Freesound API. Lots of Sounds provides a smaller no-key CC0 sample surface, a first-party hosted MCP server for AI agents, and an authenticated API for production search and downloads. Expect different endpoints, response shapes, catalog coverage, and account terms.

Common questions

Is this a free sound effects API?

Yes. The sample list and sample stream endpoints need no account and no API key. Full-catalog search and downloads require a paid Lots of Sounds plan.

Are the sounds CC0?

The curated sample collection is CC0. For the full catalog and current usage terms, review the Lots of Sounds license information before publishing audio.

Can an AI agent use this API?

Yes. The REST API returns structured JSON, the repository includes an agent skill, and the hosted MCP server exposes purpose-built sound tools.

Does this repository contain audio files?

No. It contains documentation, small code examples, and an agent skill. Audio is served by the Lots of Sounds API.

License

Repository code is available under the MIT License. Audio returned by the API is governed separately by the Lots of Sounds license terms.

Setup from the maintainer

This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.

Learn More