Docs/Audio

GET/v1/audio1 credit

Audio

Every audio file a page declares: <audio> and <source> files, og:audio, and direct audio-file links like podcast enclosures and download buttons - each tagged by source. Reads the initial HTML, so audio mounted by a JavaScript player at runtime needs render=true.

  • Collect podcast episode files linked from a show page.
  • Recover the audio a page plays for an archive.
  • Feed audio URLs to a transcription or analysis pipeline.
Parameters
urlrequiredThe page to extract from. With or without protocol (https:// is assumed).
fieldsoptionalComma-separated list of fields to return (e.g. fields=audio). Omit for the full object. url is always included. Trims the response only - the credit cost is unchanged. audio · count · note
renderoptionalLoad the page in a real browser and run its JavaScript before extracting. Use for client-rendered sites (React, Next, SPAs) where the default static fetch returns little - runtime-injected images, styles, media and Lotties become visible. Slower (a real page load), and adds 5 credits to the call. Cache hits stay free. You rarely have to guess: when a static extraction comes back thin because the page is client-rendered, the response includes a top-level hint field telling you to retry with render=true. true · false (default)
freshoptionalSkip the 24-hour cache and re-extract from the live page. Use it when you know the site just changed (a redeploy, a rebrand) and a cached copy would be stale. The call is charged normally - the extraction really runs - and the fresh result replaces the cached copy for the next caller. Off by default: identical repeat calls within 24 hours are served from cache at 0 credits. true · false (default)
screenshotoptionalRequires render=true. The same real browser that renders the page also captures a screenshot - true for the 1440x900 viewport, full for the entire page height. The response gains a screenshot field with a public image URL that stays live for 7 days. No extra credits beyond the render surcharge. Captured on fresh extractions - a cache hit returns the screenshot stored with the cached result (pass fresh=true to force a new one). true · full · false (default)

Build a request

GEThttps://miromiro.app/api/v1/v1/audio?url=stripe.com

urlrequired
fields

Nothing selected returns the full response.

render
fresh
screenshot

Options at their default are left out of the URL - the API assumes them. Auth isn't shown here: send your key as an Authorization: Bearer header (see the example below).

Response

{
"url": "https://stripe.com",
"selector": "section.hero-section-container",
"autoDetected": true,
"sections": [
{ "selector": "section.hero-section-container", "label": "Financial infrastructure…", "elements": 343 },
{ "selector": "section.business-sizes-section", "label": "Powering businesses of all sizes.", "elements": 604 },

],
"framework": "tailwind",
"code": "<section class=\"relative w-full\">\n <h1 class=\"text-[#000000] …\">…</h1>\n</section>",
"css": null,
"tokens": {
"colors": ["#000000", "#533afd"],
"fontFamilies": ["sohne-var"],
"fontSizes": ["48px", "16px"],
"spacing": ["16px", "24px"],
"radii": ["8px"],
"shadows": ["0 2px 4px rgba(0,0,0,.1)"]
},
"theme": "light",
"assets": { "images": ["https://…/hero.png"], "fonts": [] },
"summary": { "elements": 42, "declarations": 310, "mappedToTailwind": 180, "arbitrary": 44, "styledCoverage": 97, "repeatedGroups": 1, "truncated": false },
"usage": { "creditsSpent": 25, "creditsThisMonth": 25, "monthlyLimit": 100, "remaining": 75, "cached": false }
}
Response fields
urlstringThe resolved URL that was extracted.
audio[]arrayEach { url, source }. source ∈ audio, source, og, link - the element or attribute it was declared on.
countnumberTotal number of audio files found.
notestringCoverage caveat: only audio declared in the initial HTML is found - add render=true for JS-mounted players.
usageobjectMetering for this call: credits spent this month, your monthly cap (null = unlimited), credits remaining, what this call cost (0 on cache hits), and whether it was served from the 24-hour cache.

Example request

curl "https://miromiro.app/api/v1/code?url=stripe.com&framework=jsx" \
-H "Authorization: Bearer $MIROMIRO_API_KEY"

# Client-rendered site (React, Next, SPA)? Add render=true to run its
# JavaScript in a real browser first (+5 credits):
curl "https://miromiro.app/api/v1/code?url=stripe.com&framework=jsx&render=true" \
-H "Authorization: Bearer $MIROMIRO_API_KEY"