public-data-without-api-keyslisted
Install: claude install-skill hellokianben-collab/vishal-agarwal-context
# Getting real platform data without keys
The rule this serves: **never fabricate content for a real person's site.** If the video titles are
not real, don't ship video titles. These are the methods that made real data available without an
API key.
Public, published information only. Nothing behind a login, no rate-limit abuse, no bot-check
evasion.
---
## YouTube — video IDs and titles, no key
The DOM is lazy-loaded, so querying anchors returns nothing. The data is in the page's embedded
state.
**1. Get the IDs from `ytInitialData`:**
```js
// on https://www.youtube.com/@<handle>/videos
JSON.stringify(window.ytInitialData).match(/"videoId":"([\w-]{11})"/g)
```
Do **not** try to walk the JSON for paired title+id — the modern shape hides the pairing, and
attempts to reconstruct it produce mismatched titles, which is worse than no titles.
**2. Get title and ownership per ID from oEmbed** (public, no key, no quota):
```bash
curl -s "https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=<ID>&format=json"
# → {"title": "...", "author_name": "...", "thumbnail_url": "..."}
```
**3. Filter on `author_name`.** A channel page can surface videos the channel does not own. Matching
the author name is what confirms authorship.
**Thumbnails are permanent and safe to hardcode:**
```
https://i.ytimg.com/vi/<ID>/hqdefault.jpg
```
## Facebook — post metadata via the crawler user-agent
Facebook serves **full Open Graph metadata server-side to its own crawler UA**, wit