Udio Music Search Scraper avatar

Udio Music Search Scraper

Pricing

from $0.01 / 1,000 song results

Go to Apify Store
Udio Music Search Scraper

Udio Music Search Scraper

🎵 Search public Udio songs and export ranked creators, prompts, tags, media URLs, engagement, and timestamps for music intelligence and monitoring.

Pricing

from $0.01 / 1,000 song results

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Search Udio's public music catalog and export ranked songs as clean JSON, CSV, Excel, XML, or RSS data.

Use genres, moods, artist names, titles, or prompt phrases. Every record includes its original query and rank, making repeated snapshots useful for discovery, creator intelligence, and trend monitoring.

What does Udio Music Search Scraper do?

The Actor sends read-only searches to Udio's public catalog and saves structured song records.

It can collect:

  • Song IDs and public URLs
  • Search query and rank
  • Song titles
  • Creator names and IDs
  • Public prompts and descriptions
  • Genre and style tags
  • Duration
  • Artwork, audio, and video URLs
  • Public play and like counts
  • Creation and publication times
  • A consistent scrape timestamp

It does not create music, sign in to accounts, or access private libraries.

Who is it for?

AI music analysts

Build datasets that compare styles, prompts, creators, and visible engagement.

Labels and A&R teams

Discover public tracks and creators across genres, moods, and emerging niches.

Creator intelligence teams

Find creators attached to relevant songs and measure their public catalog signals.

Researchers

Collect reproducible snapshots for studies of generative music and cultural trends.

Developers

Add public Udio discovery data to dashboards, alerts, enrichment pipelines, or internal tools.

Why use this Udio scraper?

  • No browser automation is required.
  • Multiple queries run in one Actor execution.
  • Cursor pagination supports larger result sets.
  • Per-query limits keep costs predictable.
  • Duplicate song IDs are removed within each query.
  • Optional public fields stay nullable instead of being fabricated.
  • Results work with Apify schedules, webhooks, API clients, and integrations.

What Udio data can I extract?

FieldTypeMeaning
querystringSearch phrase submitted
ranknumberPosition within that query
songIdstringStable Udio song ID
songUrlstringPublic Udio song page
titlestringPublic song title
creatorNamestringPublic creator name
creatorIdstring or nullPublic creator identifier
promptstring or nullPublic music prompt
descriptionstring or nullPublic description
tagsstring[]Genres and style tags
durationSecondsnumber or nullAudio duration
artworkUrlstring or nullCover image URL
audioUrlstring or nullPublic audio URL
videoUrlstring or nullPublic video URL
playsnumber or nullVisible play count
likesnumber or nullVisible like count
createdAtstring or nullCreation timestamp
publishedAtstring or nullPublication timestamp
scrapedAtstringCollection timestamp

How to scrape Udio songs

  1. Open the Actor in Apify Console.
  2. Add one or more search queries.
  3. Choose the maximum songs per query.
  4. Click Start.
  5. Preview records in the Dataset tab.
  6. Export the dataset or connect an integration.

A cheap first run uses one query and 20 songs.

Input

{
"queries": ["ambient", "synthwave"],
"maxItemsPerQuery": 50
}

queries

Required array of non-empty strings.

Useful query types include:

  • Genres: ambient, synthwave, jazz
  • Moods: melancholic, uplifting, dreamy
  • Instruments: solo piano, electric guitar
  • Use cases: cinematic trailer, focus music
  • Prompt phrases: female vocal electronic pop
  • Creator or title fragments

maxItemsPerQuery

Maximum records saved for each query.

The allowed range is 1 to 1,000.

Use a low value while testing and increase it for monitoring or analysis.

Output example

{
"query": "synthwave",
"rank": 1,
"songId": "example-song-id",
"songUrl": "https://www.udio.com/songs/example-song-id",
"title": "Neon Pulse",
"creatorName": "Example creator",
"creatorId": "example-creator-id",
"prompt": "retro synthwave, nocturnal, energetic",
"description": "",
"tags": ["synthwave", "electronic"],
"durationSeconds": 132.4,
"artworkUrl": "https://example.com/artwork",
"audioUrl": "https://example.com/audio.mp3",
"videoUrl": null,
"plays": 1200,
"likes": 84,
"createdAt": "2026-01-01T00:00:00Z",
"publishedAt": "2026-01-01T00:05:00Z",
"scrapedAt": "2026-07-12T00:00:00Z"
}

Actual values come from public Udio responses.

How much does it cost to scrape Udio songs?

This Actor uses pay-per-event pricing:

  • A small one-time Start event covers run setup.
  • An Item event is charged for every dataset record.
  • Higher Apify plan tiers receive lower per-item prices.

Your exact total appears in Console before and after a run. Keep the per-query limit low for experiments, then scale once the output fits your workflow.

Udio search monitoring workflow

A practical recurring workflow is:

  1. Save a stable set of queries.
  2. Schedule the Actor daily or weekly.
  3. Store each dataset snapshot.
  4. Join records by songId and query.
  5. Compare ranks, plays, likes, and publication times.
  6. Send alerts for new or rising songs.

The scrapedAt field makes snapshots easy to order.

Tips for reliable results

  • Use specific phrases when broad genres are noisy.
  • Keep related concepts in separate queries to preserve ranks.
  • Use song IDs, not titles, for deduplication across runs.
  • Treat media links as public upstream URLs that may change.
  • Expect optional fields to be null when Udio does not expose them.
  • Schedule at consistent times for comparable snapshots.
  • Export raw datasets before applying aggressive filtering.

Apify integrations

Send results to:

  • Google Sheets for editorial review
  • Slack for new-song alerts
  • Make for no-code enrichment workflows
  • Zapier for CRM or notification automations
  • Webhooks for event-driven processing
  • Cloud storage for long-term snapshots
  • SQL warehouses for rank and engagement analysis

For example, trigger a webhook after each scheduled run, compare song IDs with yesterday's snapshot, and notify an A&R channel about newly ranked tracks.

API usage: run with the Apify API

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/udio-music-search-scraper').call({
queries: ['ambient', 'synthwave'],
maxItemsPerQuery: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/udio-music-search-scraper').call(run_input={
'queries': ['cinematic orchestral'],
'maxItemsPerQuery': 100,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~udio-music-search-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries":["ambient"],"maxItemsPerQuery":50}'

Use the returned dataset ID to download results.

Use with MCP and AI agents

Connect through the Apify MCP server at:

https://mcp.apify.com?tools=automation-lab/udio-music-search-scraper

Claude Code

Add the actor as a remote HTTP MCP server with this runnable command:

$claude mcp add --transport http apify-udio "https://mcp.apify.com?tools=automation-lab/udio-music-search-scraper"

Then ask:

  • “Find 100 newly relevant ambient songs on Udio.”
  • “Compare Udio synthwave search results for these four queries.”
  • “Export creator names and prompts for cinematic trailer tracks.”

Claude Desktop, Cursor, and VS Code

Add the following entry to your client's MCP JSON configuration (claude_desktop_config.json in Claude Desktop, .cursor/mcp.json in Cursor, or .vscode/mcp.json in VS Code):

{
"mcpServers": {
"apify-udio": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/udio-music-search-scraper"
}
}
}

Restart or reload the client after saving. The assistant can then start actor runs and inspect structured datasets without copying data manually.

Scheduling and alerts

Apify schedules can run the same input hourly, daily, weekly, or on a custom cron pattern.

Recommended setup:

  • Daily for fast-moving genre intelligence
  • Weekly for catalog research
  • Monthly for broad academic snapshots

Attach a webhook to notify your service when the run succeeds or fails.

Data quality and limitations

Search relevance and public field availability are controlled by Udio.

The Actor cannot guarantee:

  • A fixed ranking between runs
  • Complete historical engagement
  • Availability of every artwork or media URL forever
  • Private or unpublished songs
  • Account-specific personalization
  • Music creation or download rights

The Actor exports what the public read-only search service exposes at run time.

This Actor is designed for publicly available data. Laws, contractual terms, copyright rules, and permitted uses vary by country and project.

You are responsible for:

  • Having a lawful purpose
  • Respecting Udio's terms and applicable law
  • Avoiding personal-data misuse
  • Respecting copyright and media licenses
  • Applying appropriate retention and security controls

Do not use the Actor to access private data or bypass authentication.

FAQ

Does it require a Udio account?

No. The supported scope is public, read-only song search.

Can it create songs?

No. Music generation and account actions are intentionally out of scope.

Can I search several phrases at once?

Yes. Add each phrase to queries; each result keeps its own query and rank.

Why are some fields null?

Udio does not expose every optional field for every public song. Null values accurately represent missing upstream data.

Why do rankings change?

Udio controls search relevance, catalog availability, and engagement signals. Use scheduled snapshots to measure change rather than assuming static positions.

A run returned fewer songs than requested. What happened?

The public search may have reached the end of available results, returned duplicates, or exposed fewer matches. Try a broader query or lower limit.

How do I avoid duplicate songs?

Within one query, the Actor removes duplicate song IDs. Across multiple queries or runs, deduplicate by songId while retaining query and timestamp columns when rank context matters.

Explore other data tools from automation-lab for creator intelligence, social monitoring, music research, and public web datasets.

Combine this Actor with related social or creator scrapers when you need broader audience signals beyond Udio's public catalog.

Support

If a public Udio response changes or an expected field disappears, open an issue from the Actor page with:

  • The exact input
  • The run ID
  • The affected query
  • A short description of expected and actual output

This evidence helps reproduce and resolve problems quickly.