stableapify.dev

Start the "YouTube Scraper" Apify actor (streamers/youtube-scraper). YouTube crawler and video scraper. Alternative YouTube API with no limits or quotas. Extract and download channel name, likes, number of views, and number of s…

SearchLiveeip155:8453Exactvia cdp
Settlements · 30d
103↓ 35%
No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days.
$9.49
Verified settled volume
631 settlements proven x402 by their on-chain EIP-3009 marker.
$0.010
Listed price
As published in the catalog. Always read the live 402 before paying.
1
Calls · 30d
Upstream's own call count for this endpoint, not ours.
1
Unique payers · 30d
Last called 2026-06-21 05:30Z
Upstream on-chain volume
Reported by the source catalog.
Paid to
0x23d931f95831cee50b5f5edf4d0e88270f6c8411

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.01USDC≈ $0.01 USD
on Base · exact scheme

Pay 0.01 USDC on Base to 0x23d9…c8411. The signed payment is good for 5 minutes.

USD Coin contract
0x8335…02913
Payment window
5 minutes
As published
10000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0x23d931f95831cee50b5f5edf4d0e88270f6c8411",
    "amount": "10000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 300
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "body": {},
        "type": "http",
        "method": "POST",
        "bodyType": "json"
      }
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "properties": {
            "body": {
              "type": "object",
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "input": {
                  "type": "object",
                  "required": [
                    "maxResults",
                    "maxResultsShorts",
                    "maxResultStreams",
                    "startUrls",
                    "subtitlesLanguage",
                    "subtitlesFormat"
                  ],
                  "properties": {
                    "is3D": {
                      "type": "boolean",
                      "description": "Will apply the 3D filter for search"
                    },
                    "is4K": {
                      "type": "boolean",
                      "description": "Will apply the 4K filter for search"
                    },
                    "isHD": {
                      "type": "boolean",
                      "description": "Will apply the HD filter for search"
                    },
                    "hasCC": {
                      "type": "boolean",
                      "description": "Will apply the Creative Commons filter for search"
                    },
                    "is360": {
                      "type": "boolean",
                      "description": "Will apply the 360 degrees filter for search"
                    },
                    "isHDR": {
                      "type": "boolean",
                      "description": "Will apply the HDR filter for search"
                    },
                    "isLive": {
                      "type": "boolean",
                      "description": "Will apply the Live filter for search"
                    },
                    "isVR180": {
                      "type": "boolean",
                      "description": "Will apply the VR180 filter for search"
                    },
                    "isBought": {
                      "type": "boolean",
                      "description": "Will apply the Purchased filter for search"
                    },
                    "startUrls": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "url"
                        ],
                        "properties": {
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "method": {
                            "type": "string"
                          },
                          "headers": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "payload": {
                            "type": "string"
                          },
                          "userData": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {}
                          }
                        },
                        "additionalProperties": false
                      },
                      "default": [],
                      "description": "Enter a link to a YouTube video , channel , playlist , hashtag or search results page . You can also import a CSV file or Google Sheet with a list of URLs. Note: Input from Search term will be ignored when using this option. If you only want to scrape shorts/streams, set Maximum search results to 0, otherwise they represented number of regular videos requested"
                    },
                    "videoType": {
                      "enum": [
                        "video",
                        "movie"
                      ],
                      "type": "string",
                      "description": "Select Youtube video type filter for search"
                    },
                    "dateFilter": {
                      "enum": [
                        "hour",
                        "today",
                        "week",
                        "month",
                        "year"
                      ],
                      "type": "string",
                      "description": "Select Youtube upload date filter for search"
                    },
                    "maxResults": {
                      "type": "integer",
                      "default": 0,
                      "maximum": 999999,
                      "minimum": 0,
                      "description": "Limit the number of videos you want to crawl. If you scrape a channel, acts as a limit for regular videos."
                    },
                    "hasLocation": {
                      "type": "boolean",
                      "description": "Will apply the Location filter for search"
                    },
                    "hasSubtitles": {
                      "type": "boolean",
                      "description": "Will apply the Subtitles/CC filter for search"
                    },
                    "lengthFilter": {
                      "enum": [
                        "under4",
                        "between420",
                        "plus20"
                      ],
                      "type": "string",
                      "description": "Select Youtube video length filter for search"
                    },
                    "sortVideosBy": {
                      "enum": [
                        "NEWEST",
                        "POPULAR",
                        "OLDEST"
                      ],
                      "type": "string",
                      "description": "Maps to the sorting buttons on the top of the channel's 'Videos', 'Shorts' and 'Live' pages."
                    },
                    "sortingOrder": {
                      "enum": [
                        "relevance",
                        "rating",
                        "date",
                        "views"
                      ],
                      "type": "string",
                      "description": "Select Youtube sorting parameter for search"
                    },
                    "saveSubsToKVS": {
                      "type": "boolean",
                      "description": "If set to true, the scraper will save the downloaded subtitles to the key-value store. Note: Download subtitles must be turned on for this option to work."
                    },
                    "searchQueries": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Enter search terms just like you would enter it in YouTube's search bar."
                    },
                    "oldestPostDate": {
                      "type": "string",
                      "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])(T[0-2]\\d:[0-5]\\d(:[0-5]\\d)?(\\.\\d+)?Z?)?$|^(\\d+)\\s*(minute|hour|day|week|month|year)s?$",
                      "description": "Only posts uploaded after or on this date will be scraped. Alternatively, specify how old the scraped videos should be in days. Putting 1 day will get you only today's posts, 2 days - yesterday's and today's, and so on. Note, that if you select this, sorting parameter will be auto-reset to NEWEST"
                    },
                    "subtitlesFormat": {
                      "enum": [
                        "srt",
                        "vtt",
                        "xml",
                        "plaintext"
                      ],
                      "type": "string",
                      "default": "srt",
                      "description": "Select in what format you want to download subtitles"
                    },
                    "maxResultStreams": {
                      "type": "integer",
                      "default": 0,
                      "maximum": 999999,
                      "minimum": 0,
                      "description": "Limit the number of Stream videos you want to crawl."
                    },
                    "maxResultsShorts": {
                      "type": "integer",
                      "default": 0,
                      "maximum": 999999,
                      "minimum": 0,
                      "description": "Limit the number of Shorts videos you want to crawl."
                    },
                    "downloadSubtitles": {
                      "type": "boolean",
                      "description": "If set to true, the scraper will download subtitles for the video and convert them to .srt format."
                    },
                    "subtitlesLanguage": {
                      "enum": [
                        "any",
                        "en",
                        "de",
                        "es",
                        "fr",
                        "it",
                        "ja",
                        "ko",
                        "nl",
                        "pt",
                        "ru"
                      ],
                      "type": "string",
                      "default": "en",
                      "description": "Language to download subtitles in. Note: Download subtitles must be turned on for this option to work."
                    },
                    "preferAutoGeneratedSubtitles": {
                      "type": "boolean",
                      "description": "If set to true, automatically generated subtitles are preferred to user subtitles. Note: A subtitle language must be selected and download subtitles must be turned on for this option to work."
                    }
                  },
                  "description": "Normalized actor input. See field descriptions for the simplified shape; native Apify input also accepted (passed through).",
                  "additionalProperties": {}
                },
                "options": {
                  "type": "object",
                  "properties": {
                    "build": {
                      "type": "string",
                      "maxLength": 100,
                      "minLength": 1
                    },
                    "memory": {
                      "type": "integer",
                      "maximum": 32768,
                      "minimum": 128
                    },
                    "maxItems": {
                      "type": "integer",
                      "maximum": 100000,
                      "minimum": 1
                    }
                  },
                  "description": "Optional Apify run options.",
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "type": {
              "type": "string",
              "const": "http"
            },
            "method": {
              "enum": [
                "POST",
                "PUT",
                "PATCH"
              ],
              "type": "string"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      }
    }
  }
}

Provenance

Seen in the source catalog
2026-06-21 05:30Z
Last indexed by Roundhouse
2026-07-21 05:10Z
Last enriched (probe, favicon, geo)
2026-09-21 11:15Z
x402 version
2
Max timeout
300s
Liveness probe
HTTP 405
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service stableapify.dev and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=stableapify.dev'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://stableapify.dev/api/actors/streamers/youtube-scraper/call, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.