Compare commits

..

9 Commits

Author SHA1 Message Date
HugeFrog24 550de845c1 Smaller pagination so server doesn't choke 2026-03-14 06:22:54 +01:00
HugeFrog24 bb5a7e1bc3 OpenAPI 2026-03-14 06:14:32 +01:00
github-actions[bot] db685d3575 chore: nightly index update [skip ci] 2026-03-05 08:23:54 +00:00
github-actions[bot] 014df7d116 chore: nightly index update [skip ci] 2026-03-04 04:30:33 +00:00
github-actions[bot] 241cb051f6 chore: nightly index update [skip ci] 2026-03-02 04:49:26 +00:00
github-actions[bot] a51d2bd237 chore: nightly index update [skip ci] 2026-03-02 00:59:12 +00:00
HugeFrog24 c58814691e OK 2026-03-02 01:56:54 +01:00
HugeFrog24 27f7beb8b7 Caching added 2026-03-01 13:06:24 +01:00
HugeFrog24 4a5b0a6ee3 Multi-gooner support because who knows 2026-03-01 01:36:01 +01:00
7 changed files with 39 additions and 493 deletions
+2 -2
View File
@@ -44,7 +44,7 @@ Sites with no credentials are skipped automatically when running `python main.py
### 1. Scrape
Discovers all post URLs via the WordPress REST API, then visits each page with a headless Firefox browser to intercept video network requests (MP4, MOV, WebM, AVI, M4V, HLS/M3U8).
Discovers all post URLs via the WordPress REST API, then visits each page with a headless Firefox browser to intercept video network requests (MP4, MOV, WebM, AVI, M4V).
```bash
python main.py # scrape all sites you have credentials for
@@ -62,7 +62,7 @@ python download.py [options]
Options:
-o, --output DIR Download directory (default: downloads)
-t, --titles Name files by post title
--original Name files by original filename derived from the video URL (default)
--original Name files by original CloudFront filename (default)
--reorganize Rename existing files to match current naming mode
-w, --workers N Concurrent downloads (default: 4)
-n, --dry-run Print what would be downloaded
+6 -19
View File
@@ -121,21 +121,17 @@ def save_video_map(
def build_url_referers(video_map: dict[str, Any]) -> dict[str, str]:
"""Pure function: return {cdn_video_url: referer} from a flat video map.
"""Pure function: return {cdn_video_url: site_referer} from a flat video map.
Bunny.net CDN URLs require https://player.mediadelivery.net/ as referer.
All other URLs use the scheme+netloc of the page they were found on.
The flat video map has page URLs as keys; the scheme+netloc of each page URL
is used as the Referer for all CDN video URLs found in that entry.
"""
result: dict[str, str] = {}
for page_url, entry in video_map.items():
parsed = urlparse(page_url)
site_referer = f"{parsed.scheme}://{parsed.netloc}/"
referer = f"{parsed.scheme}://{parsed.netloc}/"
for vid in cast(dict[str, Any], entry).get("videos", []):
vid_url = vid["url"]
if urlparse(vid_url).netloc.endswith(".b-cdn.net"):
result.setdefault(vid_url, "https://player.mediadelivery.net/")
else:
result.setdefault(vid_url, site_referer)
result.setdefault(vid["url"], referer)
return result
@@ -151,17 +147,8 @@ def fmt_size(b: float | int) -> str:
return f"{b:.1f} TB"
def is_hls_url(url: str) -> bool:
"""True if url is an HLS master playlist (.m3u8)."""
return urlparse(url).path.endswith(".m3u8")
def url_to_filename(url: str) -> str:
path = PurePosixPath(urlparse(url).path)
# Bunny.net HLS: .../guid/playlist.m3u8 → guid.mp4
if path.name == "playlist.m3u8":
return unquote(path.parent.name) + ".mp4"
return unquote(path.name)
return unquote(PurePosixPath(urlparse(url).path).name)
def find_clashes(urls: list[str]) -> dict[str, list[str]]:
+7 -38
View File
@@ -14,8 +14,6 @@ import argparse
from pathlib import Path
import re
import shutil
import subprocess
import sys
from collections import defaultdict
from concurrent.futures import ThreadPoolExecutor, as_completed
from typing import Any
@@ -33,7 +31,6 @@ from check_clashes import (
load_video_map,
save_video_map,
is_valid_url,
is_hls_url,
VIDEO_MAP_FILE,
)
from config import SITES
@@ -209,30 +206,6 @@ def reorganize(
# ── Download ─────────────────────────────────────────────────────────
def download_hls(url: str, dest: Path, referer: str = "") -> tuple[str, int]:
"""Download an HLS stream via yt-dlp. Returns (status, bytes_written)."""
dest.parent.mkdir(parents=True, exist_ok=True)
if dest.exists():
return "ok", 0
cmd = [
sys.executable, "-m", "yt_dlp",
"--quiet", "--no-warnings",
"--referer", referer or "https://player.mediadelivery.net/",
"-o", str(dest),
url,
]
try:
proc = subprocess.run(cmd, capture_output=True, text=True)
if proc.returncode != 0:
lines = (proc.stderr or proc.stdout).strip().splitlines()
return f"error: {lines[-1] if lines else 'yt-dlp failed'}", 0
if not dest.exists():
return "error: output file missing after yt-dlp", 0
return "ok", dest.stat().st_size
except Exception as e:
return f"error: {e}", 0
def download_one(
session: requests.Session,
url: str,
@@ -411,7 +384,7 @@ def main() -> None:
saved = read_mode(args.output)
mode_changed = saved is not None and saved != mode
print(f"[+] {len(urls)} video URLs from {VIDEO_MAP_FILE}")
print(f"[+] {len(urls)} MP4 URLs from {VIDEO_MAP_FILE}")
print(f"[+] Naming mode: {mode}" + (" (changed!)" if mode_changed else ""))
# Handle reorganize
@@ -472,7 +445,7 @@ def main() -> None:
}
newly_fetched: dict[str, int | None] = {}
uncached_pending = [u for u in pending if u not in cached_sizes and not is_hls_url(u)]
uncached_pending = [u for u in pending if u not in cached_sizes]
session = make_session()
if uncached_pending:
print(
@@ -489,19 +462,17 @@ def main() -> None:
total_bytes = sum(sized.values())
print(f"[+] Download size: {fmt_size(total_bytes)} across {len(pending)} files")
already_sizes: dict[str, int | None] = {}
already_to_verify = [u for u in already if not is_hls_url(u)]
if already_to_verify:
uncached_already = [u for u in already_to_verify if u not in cached_sizes]
if already:
uncached_already = [u for u in already if u not in cached_sizes]
if uncached_already:
print(
f"[+] Verifying {len(already_to_verify)} existing files ({len(uncached_already)} uncached)…"
f"[+] Verifying {len(already)} existing files ({len(uncached_already)} uncached)…"
)
fetched_already = fetch_sizes(uncached_already, workers=20, url_referers=url_referers)
newly_fetched.update(fetched_already)
already_sizes = {**cached_sizes, **fetched_already}
already_sizes: dict[str, int | None] = {**cached_sizes, **fetched_already}
else:
print(f"[+] Verifying {len(already_to_verify)} existing files (all sizes cached)…")
print(f"[+] Verifying {len(already)} existing files (all sizes cached)…")
already_sizes = dict(cached_sizes)
mismatched = 0
@@ -534,8 +505,6 @@ def main() -> None:
def do_download(url: str) -> tuple[str, tuple[str, int]]:
dest = paths[url]
if is_hls_url(url):
return url, download_hls(url, dest, url_referers.get(url, ""))
expected = remote_sizes.get(url)
return url, download_one(
session, url, dest, expected, url_referers.get(url, "")
+3 -62
View File
@@ -335,46 +335,6 @@ def extract_title_from_html(html: str) -> str | None:
return None
def _is_bunny_playlist(url: str) -> bool:
"""True if url is the root Bunny.net HLS playlist (not a sub-playlist)."""
parsed = urlparse(url)
return (
parsed.netloc.endswith(".b-cdn.net")
and parsed.path.endswith("/playlist.m3u8")
)
def _is_bunny_junk(url: str) -> bool:
"""True if url is a Bunny.net CDN init segment (not a usable video URL)."""
parsed = urlparse(url)
return parsed.netloc.endswith(".b-cdn.net") and PurePosixPath(
parsed.path
).name in {"init.mp4", "init.dmp4"}
def extract_bunny_embed_url(html: str) -> str | None:
"""Return a tokenless Bunny.net embed URL found in an iframe, or None."""
m = re.search(
r'<iframe[^>]+src="(https://player\.mediadelivery\.net/embed/[^"?]+)',
html,
)
return m.group(1) if m else None
def _clear_junk_video_entries(video_map: dict[str, Any], site_key: str) -> int:
"""Reset entries whose only stored videos are CDN init segments. Returns count fixed."""
cleared = 0
for entry in video_map.values():
videos = entry.get("videos", [])
if videos and all(_is_bunny_junk(v["url"]) for v in videos):
entry["videos"] = []
entry.pop("scraped_at", None)
cleared += 1
if cleared:
save_video_map(video_map, site_key)
return cleared
MAX_RETRIES = 2
@@ -401,9 +361,7 @@ async def worker(
page.on(
"response",
lambda resp: video_hits.add(resp.url)
if (_is_video_url(resp.url) or _is_bunny_playlist(resp.url))
else None,
lambda resp: video_hits.add(resp.url) if _is_video_url(resp.url) else None,
)
try:
@@ -418,7 +376,7 @@ async def worker(
print(f"[W{worker_id}] ({idx + 1}/{total}) {url}{label}")
try:
await page.goto(url, wait_until="load", timeout=60000)
await page.goto(url, wait_until="networkidle", timeout=60000)
except Exception as e:
print(f"[W{worker_id}] Navigation error: {e}")
if expects_video(url) and attempt < MAX_RETRIES:
@@ -493,29 +451,18 @@ async def worker(
found = set(html_videos) | set(video_hits)
video_hits.clear()
print(f"[W{worker_id}] network hits raw: {found or '(empty)'}")
all_videos = [
m
for m in found
if is_valid_url(m)
and not _is_bunny_junk(m)
and m
not in (
f"{base_url}/wp-content/plugins/easy-video-player/lib/blank.mp4",
)
]
if not all_videos:
embed_url = extract_bunny_embed_url(html)
if embed_url:
print(
f"[W{worker_id}] No network hit — iframe fallback: {embed_url}"
)
all_videos = [embed_url]
async with map_lock:
new_found = set(all_videos) - known
new_found = found - known
if new_found:
print(f"[W{worker_id}] Found {len(new_found)} new video URLs")
known.update(new_found)
@@ -572,12 +519,6 @@ async def run_for_site(
urls = load_post_urls(site_key, base_url, wp_api, req_headers)
video_map = load_video_map(site_key)
junk_cleared = _clear_junk_video_entries(video_map, site_key)
if junk_cleared:
print(
f"[{site_key}] Cleared {junk_cleared} entries with junk CDN init segments — will re-scrape."
)
if any(
u not in video_map
or not video_map[u].get("title")
-2
View File
@@ -1,5 +1,3 @@
playwright==1.58.0
python-dotenv==1.2.1
Requests==2.32.5
yt-dlp>=2026.3.17
pycryptodomex>=3.23.0
+2 -3
View File
@@ -125,12 +125,11 @@ def get_channel_id(base: str, token: str, channel_name: str) -> int:
def get_channel_video_names(base: str, token: str, channel_name: str) -> Counter[str]:
"""Paginate through the channel and return a Counter of video names."""
counts: Counter[str] = Counter()
page_size = 25
start = 0
while True:
r = requests.get(
f"{base}/api/v1/video-channels/{channel_name}/videos",
params={"start": start, "count": page_size},
params={"start": start, "count": 25},
headers=api_headers(token),
timeout=30,
)
@@ -138,7 +137,7 @@ def get_channel_video_names(base: str, token: str, channel_name: str) -> Counter
data = r.json()
for v in data.get("data", []):
counts[v["name"]] += 1
start += page_size
start += 100
if start >= data.get("total", 0):
break
return counts
+19 -367
View File
@@ -4792,15 +4792,7 @@
"https://www.jailbirdz.com/pinkcuffs-videos/new-feature/": {
"title": "Page Not Found",
"description": "Click the “add to bookmarks” button to save your favorite videos in the new bookmark gallery",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/6ecf6dcf-04a3-4905-a457-27e81d5738d1/playlist.m3u8"
},
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/fa673897-0a1d-4124-94ed-626d457bbbd0/playlist.m3u8"
}
],
"scraped_at": 1773902303
"videos": []
},
"https://www.jailbirdz.com/pinkcuffs-videos/autumn-arrested-part-3/": {
"title": "Autumn Arrested Part 3",
@@ -14645,12 +14637,7 @@
"https://www.jailbirdz.com/pinkcuffs-videos/live-at-boundlive-com-or-email-us-for-custom-requests/": {
"title": "Page Not Found",
"description": "We are at the prison again\n\nemail pinkcuffsaz@gmail.com\n\nfor custom requests or\n\nvisit boundlive.com and\n\nsee if we are online\n\n(will be on once more tomorrow)",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/bcc2f3fc-618a-4b7c-9584-929366b43e14/playlist.m3u8"
}
],
"scraped_at": 1773902372
"videos": []
},
"https://www.jailbirdz.com/pinkcuffs-videos/part-3-tori-sentencing/": {
"title": "Tori is Arrested pt3",
@@ -14919,15 +14906,7 @@
"https://www.jailbirdz.com/pinkcuffs-videos/live-cam-show-sunday-1pm-pacific-ideas/": {
"title": "Page Not Found",
"description": "check out our new site!!!\n\nBoundLive.com\n\nOur next cam show will be Sunday at 1pm Pacific Time (PT)\n\nWIll start out with the models cuffed in the bedroom\n\nIt is an option to tip to have the model arrested and taken to jail\n\nwww.boundlive.com\n\nIf you all have any ideas for a paid cam show let me know. Im even thinking of having overnight prisoners if enough people are willing to contribute",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/3cb12745-50c5-467a-a406-64580d1878b4/playlist.m3u8"
},
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/b929d95b-ca9e-4a23-9816-b73c2e488d84/playlist.m3u8"
}
],
"scraped_at": 1773902304
"videos": []
},
"https://www.jailbirdz.com/pinkcuffs-videos/boundlive-com-live-cam-and-videos/": {
"title": "Page Not Found",
@@ -16443,9 +16422,7 @@
"description": "LUVV and Ginger begin the video nude and restrained inside a cell, both secured in hinge handcuffs and shackles. The brunette, LUVV, nervously complains about the restraints while Ginger tries to stay calm. During a surprise cell inspection, Officer Luna Lux orders them to stand against the wall and conducts a detailed search, checking the bed, mattress, and every corner of the cell. While Luna is distracted, Ginger quietly swipes the key without any prior planning.\n\nAfter the officer finishes and leaves, Ginger reveals the key. The two quickly work together to unlock the hinge cuffs, then remove the shackles, freeing themselves completely. Finding the cell unsecured, they seize the opportunity, throw on dark green prison jumpsuits, and slip away. When Luna returns and discovers the empty cell, she immediately realizes what happened and rushes out to find them.\n\nThe scene shifts to the pair sitting outside at a table, visibly shaken and unsure of their next move. Without phones, proper clothes, or a safe place to go, panic starts to set in as they debate what to do. Their brief taste of freedom ends quickly when Luna tracks them down. She commands them to put their hands on their heads, cross their ankles, and lie flat on the ground before securing both behind their backs in handcuffs once again. After reading them their rights, she warns them that their attempted escape will only add more time to their charges, bringing their failed breakout to a firm and controlled conclusion.",
"videos": [
{
"url": "https://d1nqppmcfahrr7.cloudfront.net/2026/LunaLux/LUVVGingerJailEscapept1.mp4",
"size": 674756230,
"size_checked_at": 1773905170
"url": "https://d1nqppmcfahrr7.cloudfront.net/2026/LunaLux/LUVVGingerJailEscapept1.mp4"
}
],
"scraped_at": 1772426905
@@ -16453,31 +16430,19 @@
"https://www.jailbirdz.com/pinkcuffs-videos/luvv-gingers-jail-escape-full-recapture-pt2/": {
"title": "LUVV &amp; Gingers Jail Escape Full Recapture pt2",
"description": "After their failed escape, LUVV and Ginger are marched back into custody and secured to the jail bench, hands cuffed tightly behind their backs. Officer Luna Lux wastes no time confronting them, explaining that the stolen key and attempted breakout have only added more charges to their record. The reality of their situation starts to sink in as they sit restrained, replaying their mistake and realizing their short-lived freedom has made things much worse.\n\nWhen Luna returns to continue processing, the tension escalates. Ginger is uncuffed from the bench and subjected to a strict search procedure, ordered to face forward, turn side to side, and follow every command without hesitation. Left topless in her underwear, she undergoes a thorough check before Luna secures a waist chain snugly around her midsection. Tight hinge cuffs are fastened behind her back, shackles are locked around her ankles, and she is firmly restrained back onto the bench — now bound even more securely than before.\n\nWith Ginger fully secured, LUVV watches nervously as Luna turns her attention back toward the bench. As the episode closes, the question lingers in the air: “Is it my turn?”\n\nTo Be Continued.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/fa673897-0a1d-4124-94ed-626d457bbbd0/playlist.m3u8"
}
],
"scraped_at": 1773903185
"videos": []
},
"https://www.jailbirdz.com/pinkcuffs-videos/officer-autumn-serves-a-search-warrant-on-lizzy-pt3/": {
"title": "Officer Autumn Serves a Search Warrant on Lizzy pt3",
"description": "Officer Autumn Finalizes Lizzys Booking Final Part\n\nLizzy is taken into the next room for the final stages of booking. Officer Autumn removes Lizzys restraints and instructs her to place all personal items and clothing into the bin. Lizzy is searched thoroughly from head to toe, including a detailed inspection and a full squat-and-cough, leaving her visibly uncomfortable as the process becomes more intense and humiliating.\n\nWith the search complete, Officer Autumn requires Lizzys mugshots to be taken while she is still nude and handcuffed behind the back. Lizzy clearly feels degraded by having to pose for booking photos in that state, but she complies as Autumn directs her through the angles and positioning to complete the set.\n\nAfterward, Autumn steps out briefly and returns with an orange inmate jumpsuit. Lizzy is allowed a moment with her cuffs removed so she can put it on, then she is immediately restrained again. Autumn secures Lizzy in cuffs and adds leg shackles, making it clear the night is not going to be easy.\n\nLizzy is placed into the holding cell still restrained, pacing slowly in frustration as the reality sets in. Autumn returns one final time and has Lizzy turn around and place her arms through the slot so her restraints can be adjusted for sleep. Lizzy is left in her orange jumpsuit with her hands cuffed in front and shackles still on, warned to stay put as the door closes.\n\n“Lights out.”\n\nThe cell goes dark as Lizzy lies down on the bunk, restrained for the night.\n\nThe End.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/b929d95b-ca9e-4a23-9816-b73c2e488d84/playlist.m3u8"
}
],
"scraped_at": 1773902341
"videos": []
},
"https://www.jailbirdz.com/pinkcuffs-videos/officer-autumn-serves-a-search-warrant-on-lizzy-pt2/": {
"title": "Officer Autumn Serves a Search Warrant on Lizzy pt2",
"description": "Officer Autumn Processes Lizzy Part 2\n\nAfter being secured in the patrol vehicle, Lizzy is brought inside for formal processing. Still restrained in silver chain handcuffs, she is positioned against the vehicle for a final, thorough search before being taken into the station.\n\nOfficer Autumn conducts an extremely detailed pat down, carefully checking Lizzys waistband, seams, pockets, boots, and even her hair. Though Autumn briefly comments on Lizzys outfit, she remains professional and focused, making it clear the situation is serious.\n\nInside the processing room, Lizzys cuffs are moved to the front before she is secured to the metal bar at the booking table. Autumn records her information and prepares the fingerprint sheet. Each finger is inked and rolled individually, followed by the full four finger impressions and individual thumbs, completing the prints with precision.\n\nLizzy continues to deny the allegations and requests a lawyer. She is given a phone call but is unable to reach anyone, leaving a message and facing the uncertainty of what comes next.\n\nWith fingerprints complete and paperwork underway, the table restraint is removed, leaving Lizzy still cuffed as the process moves forward.\n\nTo Be Continued.",
"videos": [
{
"url": "https://d1nqppmcfahrr7.cloudfront.net/2026/AutumnEhr/Officer+Autumn+Serves+a+Search+Warrant+on+Lizzy+pt2.mp4",
"size": 462038025,
"size_checked_at": 1773905170
"url": "https://d1nqppmcfahrr7.cloudfront.net/2026/AutumnEhr/Officer+Autumn+Serves+a+Search+Warrant+on+Lizzy+pt2.mp4"
}
],
"scraped_at": 1772699187
@@ -16487,9 +16452,7 @@
"description": "Lizzy is relaxing at home when Officer Autumn suddenly enters with a search warrant for the premises. Caught off guard, Lizzy is ordered to place her hands on her head and follow instructions step by step. She is directed to her knees and then down onto her stomach while Officer Autumn secures her hands behind her back in handcuffs.\n\nWith Lizzy restrained face down on the tile floor, Officer Autumn begins searching the house based on a tip about illegal items inside. Lizzy insists she has no idea what the officer is talking about and denies hiding anything. While Autumn continues the search, Lizzy remains cuffed on the ground, shifting slightly as she tries to get comfortable but ultimately staying compliant.\n\nAfter a tense back and forth, Officer Autumn returns and informs Lizzy that items have been located. Lizzy is read her rights and the cuffs are checked before she is brought outside. A thorough pat down is conducted in front of the patrol car before she is placed inside and secured in the back seat.\n\nThis is just the beginning.\n\nTo Be Continued.",
"videos": [
{
"url": "https://d1nqppmcfahrr7.cloudfront.net/2026/AutumnEhr/Officer+Autumn+Serves+a+Search+Warrant+on+Lizzy+pt1.mp4",
"size": 706765349,
"size_checked_at": 1773905170
"url": "https://d1nqppmcfahrr7.cloudfront.net/2026/AutumnEhr/Officer+Autumn+Serves+a+Search+Warrant+on+Lizzy+pt1.mp4"
}
],
"scraped_at": 1772699187
@@ -16503,248 +16466,22 @@
"https://www.jailbirdz.com/pinkcuffs-videos/luvv-gingers-jail-escape-full-recapture-pt3/": {
"title": "LUVV &amp; Gingers Jail Escape Full Recapture pt3",
"description": "Officer Luna Lux turns her attention to LUVV. With no patience left for excuses, Luna removes LUVV from the bench and begins the same strict processing procedure. Ordered to face forward, turn side to side, and follow every command precisely, LUVV quickly realizes there will be no leniency after their failed escape.\n\nShe is directed to remove everything except her underwear, leaving her topless as Luna conducts a thorough search. Hands on her head, legs lifted one at a time, toes wiggled on command. Once the search is complete, Luna secures a tight waist chain around LUVVs midsection. Hinge handcuffs are locked onto the chain behind her back, limiting all movement, and shackles are fastened around her ankles. Restrained just as strictly as Ginger, LUVV is placed back into custody with no room for resistance.\n\nThe episode closes with both inmates returned to their cell, fully secured and reflecting on the impulsive decision that added even more trouble to their record. Their short lived freedom is officially over and the consequences are only beginning.\n\nTo Be Continued.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/bcc2f3fc-618a-4b7c-9584-929366b43e14/playlist.m3u8"
}
],
"scraped_at": 1773903185
"videos": []
},
"https://www.jailbirdz.com/pinkcuffs-videos/luvv-gingers-jail-escape-full-recapture-pt4/": {
"title": "LUVV &amp; Gingers Jail Escape Full Recapture pt4",
"description": "In the final chapter, LUVV and Ginger sit back in their cell, now extra secured after their failed escape. Both remain topless in their underwear, bound in waist chains with their hands cuffed tightly behind their backs and shackles locked at their ankles. The added restraints dig in as they try to shift and get comfortable. LUVV mutters that this is intense, the cuffs biting into her wrists, and they wonder if they will have to sleep like this. The reality sets in. They really messed up.\n\nThe next morning, Officer Luna Lux walks in with a calm but firm “Good morning.” The girls are still chained exactly where they were left. Luna informs them it is time to face the judge. When they ask if they have to go to court restrained like this, she answers yes without hesitation.\n\nStill secured in waist chains, cuffed behind their backs, and shackled at the ankles, they stand before the judge. Charged with escaping federal custody and vandalism of government property, both plead not guilty. The judge cites clear video evidence and Luna Luxs testimony, noting their lack of remorse. Given a sentencing range of three to eight years, she chooses the maximum of eight years in a maximum security prison and orders that they be separated.\n\nThe episode closes with Luna Lux locking them back inside their cell one final time. Sitting chained together, the weight of the sentence hits them. They quietly admit they cannot believe they did this. They are upset about being separated, frustrated with the tight chains digging into them, and filled with regret. What began with a stolen key ends with eight years apart and no way to undo it.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/0ec22492-5f3e-458e-be9a-ee667011c833/playlist.m3u8"
}
],
"scraped_at": 1773903184
"videos": []
},
"https://www.jailbirdz.com/pinkcuffs-videos/makayla-michelles-jail-booking-begins-a-veteran-officer-returns-part-1/": {
"title": "Makayla Michelles Jail Booking Begins… A Veteran Officer Returns | Part 1",
"description": "Makayla Michelle thought she could get away with it… but Officer Lexi Mode isnt buying the attitude.\n\nAfter being arrested for fraud and misuse of a credit card, Makayla is brought in for booking and quickly learns that jail processing isnt going to be a pleasant experience. Officer Lexi wastes no time placing her in restraints and moving her through the full intake procedure.\n\nStill convinced she did nothing wrong, Makayla makes her one phone call — and instead of apologizing, she spends the entire call berating her ex-boyfriend and blaming him for everything that landed her behind bars in the first place.\n\nLexi watches the whole thing unfold with clear disbelief before cutting the call short and moving Makayla into the booking room for mugshots and a full search. Makaylas attitude continues as the officer reminds her that back-talk wont make things easier once the judge hears about it.\n\nAfter completing the search, Makayla is cuffed again and sent back toward her holding cell.\n\nBut while Lexi thinks the booking is finished… someone unexpected is about to walk through those doors.\n\nOG fans may recognize the officer whos about to arrive.\n\nAnd when she does, Lexi may find herself on the other side of the cuffs.\n\nTo Be Continued in Part 2…",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/6ecf6dcf-04a3-4905-a457-27e81d5738d1/playlist.m3u8"
}
],
"scraped_at": 1773903187
"videos": []
},
"https://www.jailbirdz.com/pinkcuffs-videos/makayla-michelles-jail-booking-begins-a-veteran-officer-returns-part-2/": {
"title": "Makayla Michelles Jail Booking Begins… A Veteran Officer Returns | Part 2",
"description": "A familiar face has returned and this time she is back with a warrant.\n\nMakayla Michelle sits chained to the bench tugging at the restraints while waiting for Officer Lexi Mode to return. The booking room seems quiet until the door opens and someone unexpected walks in.\n\nOfficer Lisa.\n\nAfter years away from the department the veteran officer has returned and she did not come back just to visit.\n\nShe came to make an arrest.\n\nLisa informs Lexi that she is under arrest for tampering with evidence concealment and obstruction of justice. According to the investigation Lexi has been stealing valuables from inmates during the booking process including jewelry money and other belongings that were supposed to be logged as evidence.\n\nThe room grows quiet as the reality begins to sink in.\n\nLisa removes Lexis badge and duty belt and tells her she will not be needing them anymore. Lexi is placed in handcuffs behind her back and searched before being secured to the desk.\n\nThe officer who had been running the booking process only moments earlier now finds herself on the other side of it.\n\nWhen Lisa asks what she was thinking Lexi finally admits the truth. She says she just wanted to make a couple extra bucks.\n\nLisa then reads Lexi her rights making it clear that the situation has now become very serious.\n\nMeanwhile Makayla watches the entire situation unfold from the bench realizing that the officer who arrested her may now be sharing the same fate.\n\nWith Officer Lisa back on duty the tables have turned and the booking process is far from over.\n\nTo Be Continued",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/3cb12745-50c5-467a-a406-64580d1878b4/playlist.m3u8"
},
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/fa673897-0a1d-4124-94ed-626d457bbbd0/playlist.m3u8"
}
],
"scraped_at": 1773902388
},
"https://www.jailbirdz.com/pinkcuffs-videos/makayla-michelles-jail-booking-begins-a-veteran-officer-returns-part-3/": {
"title": "Makayla Michelles Jail Booking Begins… A Veteran Officer Returns | Part 3",
"description": "The tables have completely turned inside the booking room.\n\nWith Officer Lexi Mode now under arrest for tampering with evidence concealment and obstruction of justice the officer who once ran the intake process is now being processed herself.\n\nOfficer Lisa takes full control of the situation.\n\nLexi is brought to the mugshot wall with her hands cuffed behind her back as Lisa begins documenting the arrest. Meanwhile Makayla Michelle remains chained to the bench watching every moment unfold as the officer who arrested her earlier is now treated like any other detainee.\n\nThe power dynamic inside the room has completely reversed.\n\nLisa continues the booking procedure by ordering Lexi to remove her uniform before conducting a full search. Lexi even wonders out loud if this might be the last time she ever removes her uniform as an officer.\n\nAs the search continues Lisa reminds both detainees that they have the right to remain silent while the investigation moves forward.\n\nThe situation grows even more tense when Lexi complains about the tightness of the handcuffs something fans know Officer Lisa is famous for. Lisas cuffs are always tight and Lexi is now experiencing exactly what so many inmates before her have felt.\n\nSoon both Lexi and Makayla find themselves restrained side by side the officer and the prisoner now sharing the same fate.\n\nBut just when it seems like Officer Lisa has everything under control something unexpected happens.\n\nLexi manages to slip her cuffs.\n\nTo Be Continued",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/61873bc6-7f68-4f19-94f4-9f4fe9d2acce/playlist.m3u8"
},
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/bcc2f3fc-618a-4b7c-9584-929366b43e14/playlist.m3u8"
}
],
"scraped_at": 1773902287
},
"https://www.jailbirdz.com/pinkcuffs-videos/makayla-michelles-jail-booking-begins-a-veteran-officer-returns-part-4/": {
"title": "Makayla Michelles Jail Booking Begins… A Veteran Officer Returns | Part 4",
"description": "Officer Lisa finishes what she started.\n\nAfter Lexis failed attempt to slip the cuffs, Officer Lisa wastes no time reasserting control. Lexi is ordered into a green inmate uniform and placed back into restraints, this time secured far tighter than before.\n\nFans know Officer Lisas reputation when it comes to restraints, and she lives up to it. The cuffs are locked down firmly and double locked, leaving absolutely no chance of anyone slipping free again.\n\nWith the booking process nearly complete, Lisa marches both inmates toward the holding cells. Makayla and Lexi now stand side by side wearing the same green uniforms, both restrained and realizing the situation they are in.\n\nBefore closing the cell, Lisa makes one final adjustment to the restraints, ensuring everything is secure before locking them behind the bars.\n\nAs she finishes up, Lisa casually checks the time and realizes the entire process took longer than expected.\n\nIts already 7 oclock.\n\nUnfortunately for the inmates, its also Friday night.\n\nWith a smirk, Lisa reminds them that the judge wont be available until Monday morning.\n\n“Have a good weekend.”\n\nLisa walks away, leaving the two inmates sitting behind the bars together, both realizing theyll be spending the entire weekend locked inside.\n\nLexi sighs and breaks the silence with a simple complaint.\n\n“Im starving.”\n\nAnd just like that, the cell door closes on the end of the story.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/0ea9dfd0-1ab4-4e38-8e69-e542e92be4d7/playlist.m3u8"
}
],
"scraped_at": 1773903190
},
"https://www.jailbirdz.com/pinkcuffs-videos/jades-maximum-security-transfer-processing-begins-part-1/": {
"title": "Jades Maximum Security Transfer… Processing Begins | Part 1",
"description": "Max Security Intake Begins\nJade thought transferring facilities would make things easier.\n\nShe was wrong.\n\nThe moment she is pulled from the transport vehicle, Officer Lars makes it clear this is not standard intake. This is maximum security. Hinge cuffs are secured immediately, followed by a tight waist chain locked firmly around her middle and shackles fastened around her ankles.\n\nJade immediately complains about how tight everything feels. Officer Lars reminds her that multiple escape attempts come with consequences. Around here, restraints are applied properly and they stay tight.\n\nAs her paperwork is reviewed, Jade continues questioning the level of security. The officer calmly explains that this facility does not take chances. Maximum security means maximum restraint.\n\nWith hinge cuffs secured, the waist chain wrapped snugly at her waist, and shackles limiting every step, Jade is officially processed into her new housing unit.\n\nProcessing is not finished yet.\n\nNext comes new mugshots and a full search.\n\nTo Be Continued in Part 2.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/4e2ba44d-58c8-4d7a-b12c-35f3b2d3d315/playlist.m3u8"
}
],
"scraped_at": 1774155148
},
"https://www.jailbirdz.com/pinkcuffs-videos/jades-maximum-security-transfer-the-full-search-part-2/": {
"title": "Jades Maximum Security Transfer… The Full Search | Part 2",
"description": "Processing continues as Officer Lars brings Jade in for her new mugshots. She faces forward, clearly irritated, then turns as instructed, making it obvious she is not happy about any of this. Once the photos are finished, her restraints are removed temporarily so the next step can begin. A full nude strip search. In maximum security, especially with someone who has a history of running, nothing is skipped and nothing is rushed.\n\nJade is instructed to remove all clothing and jewelry before the inspection begins. The search is thorough from start to finish. She shakes out her hair and turns so it can be checked properly, including behind her ears. She opens her mouth wide, sticks out her tongue, moves it side to side, and allows the inside of her cheeks and both lips to be inspected. She is told to lift her breasts for inspection, then turn and lift her feet one at a time while wiggling her toes. Finally, she is ordered to sqat and cough three times. Every step is completed before Officer Lars moves on.\n\nWhen the search is finished, Jade is placed facing the wall with her hands on her head and her forehead against the surface. That is when the restraints escalate. Officer Lars brings out a pair of antique German high security cuffs, heavy and solid, controlled by a single key that stays with her. They are secured firmly around Jades wrists and tightened properly. When she complains, they are made tighter. With the antique cuffs locked in place, Jade is seated on the cold bench to wait while processing continues, testing them slightly but finding no slack at all. Maximum security just became more serious, and it is clear this transfer is only getting stricter.\n\nTo Be Continued in Part 3",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/a30a807e-2129-4819-bcc8-4e6f50525852/playlist.m3u8"
}
],
"scraped_at": 1777121386
},
"https://www.jailbirdz.com/pinkcuffs-videos/jades-maximum-security-transfer-the-full-search-part-3/": {
"title": "Jades Maximum Security Transfer… The Full Search | Part 3",
"description": "With the antique cuffs still secured, Officer Lars returns to finish Jades transfer into maximum security housing. She is ordered to stand and face forward as the next phase begins. The cuffs are removed briefly using the single key, but Jade is immediately instructed to keep her hands on her head and not move while new restraints are prepared.\n\nBefore anything else, she is issued her maximum security jumpsuit. No underwear is allowed. No extra privileges. Just the standard uniform. Officer Lars makes it clear that privileges in this unit are limited and can be taken away just as quickly as they are given.\n\nBecause of Jades history of running, standard restraints are not enough. A lockbox device is brought out and secured over hinge cuffs, enclosing them and limiting all movement at the wrists. The waist chain is wrapped tightly around her middle and locked in place. When Jade complains about how tight it feels, Officer Lars deliberately tightens it again, making sure it is extra snug. The adjustment is intentional. Maximum security means tighter restraints and no slack.\n\nOnce fully secured in the lockbox and waist chain, Jade is escorted to her new cell. She is positioned facing the wall, hands controlled, forehead pressed forward as instructed. The officer reminds her that behavior in this unit determines everything. Privileges are minimal. Free time can disappear. Even the small comforts can be revoked.\n\nThe cell door opens, and Jade is placed inside still secured in the lockbox with the waist chain tight around her. She is left standing there in her jumpsuit, restrained, confined, and alone. Officer Lars informs her this is only phase one and that things can become even stricter if she tests the rules again.\n\nThe door closes. The officer walks away. Jade remains secured in maximum security.\n\nTo Be Continued in Part 3.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/3bc4e1b4-314f-47c6-83c7-c6d1e0a2da05/playlist.m3u8"
}
],
"scraped_at": 1777121385
},
"https://www.jailbirdz.com/pinkcuffs-videos/ashleys-public-indecency-arrest-part-1/": {
"title": "Ashleys Public Indecency Arrest | Part 1",
"description": "Ashley Moore insists the situation was a misunderstanding, but Officer Carina Capella makes it clear that multiple reports say otherwise.\n\nWhat begins as questioning quickly turns into an arrest. Ashley is instructed to face the wall and place her hands up, and shes secured in cuffs behind her back. Each wrist is locked in separately, adjusted when she reacts to how snug they feel. With her hands restrained behind her, shes read her rights and informed she will not be released.\n\nOnce inside, the cuffs are removed so a proper search can be conducted. Ashley places her hands on her head while Officer Carina checks her thoroughly, including her waistband, confirming nothing is concealed. The questioning continues, but the decision has already been made.\n\nProcessing moves to the desk, where Ashley is seated and asked again about the reports. The atmosphere shifts from roadside stop to formal intake. When the questioning concludes, her wrists are secured again — this time in front — and attached directly to a fixed desk ring. The difference is immediate. Her movement is now limited, and she remains seated, restrained in place as processing continues.\n\nPart 1 covers the arrest, initial search, and her transition into secured intake.\n\nTo Be Continued in Part 2.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/d71db0d1-caea-4745-b9fe-04bddab063e4/playlist.m3u8"
}
],
"scraped_at": 1777121386
},
"https://www.jailbirdz.com/pinkcuffs-videos/ashleys-public-indecency-arrest-part-2/": {
"title": "Ashleys Public Indecency Arrest | Part 2",
"description": "Ashley Moore remains secured at the desk, her wrists cuffed in front and attached to the fixed ring as Officer Carina Capella continues processing and takes her fingerprints while she is still restrained.\n\nOnce fingerprinting is complete, Ashley is moved to the next room for booking photos. After the mugshots are taken, Officer Carina informs her that a full search will be conducted before placement. Her cuffs are removed at that point, and she is instructed to place her hands on her head.\n\nA bucket is handed to her with instructions to place her clothing inside.\n\nThe strip search begins in Part 3.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/d355efd0-ca68-44fe-a9cc-3ca5d3c3d372/playlist.m3u8"
}
],
"scraped_at": 1777121386
},
"https://www.jailbirdz.com/pinkcuffs-videos/ashleys-public-indecency-arrest-part-3/": {
"title": "Ashleys Public Indecency Arrest | Part 3",
"description": "With the bucket placed in front of her, Ashley Moore is instructed to remove her clothing so a full search can be completed before placement. What began as routine processing now shifts into a thorough intake inspection.\n\nAshley shakes out her hair and is checked carefully. She opens her mouth for inspection and moves her tongue as directed. She follows each command. When told to squat, she lowers fully and holds as the count is given before standing again. Each leg is lifted individually, and her toes are wiggled to complete the inspection. Nothing is skipped.\n\nOnce the search is finished, Ashley is issued a yellow jumpsuit and directed to change while facing the wall. After dressing, her wrists are secured behind her back once again. Shackles are fastened at her ankles, and the restraints are adjusted to ensure a firm fit. The shift from temporary processing to full confinement is clear.\n\nFully dressed in the jumpsuit, cuffed behind her back and shackled, Ashley is placed in holding for the night. Intake is complete. Confinement begins.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/13dfda5a-8261-4db3-83d7-1d59140677d9/playlist.m3u8"
}
],
"scraped_at": 1777121389
},
"https://www.jailbirdz.com/pinkcuffs-videos/fiona-peaches-arrested-for-cyber-fraud-part-1/": {
"title": "Fiona Peaches Arrested for Cyber Fraud | Part 1",
"description": "Officer Persephone arrives at Fiona Peaches apartment with a search warrant tied to a growing cyberfraud case. Fiona is caught off guard and quickly ordered to place her hands on her head, turn, kneel, and lay on her stomach so the officer can secure her safely. Hinged black cuffs are locked behind her back and paired with shackles, putting her into a controlled hogcuffed position while the warrant is carried out.\n\nWith Fiona held firmly on the couch, Officer Persephone begins a full search of the apartment and makes it clear shes looking for computers and electronics tied to the fraud investigation. Fiona complains about how tight the restraints feel, but the officer continues the search until she uncovers multiple devices and a locked safe. Once the code is given and the contents are inspected, the situation escalates quickly.\n\nFinding the evidence she needs, Officer Persephone informs Fiona she is now under arrest for cyber fraud and reads her rights in full. The shackles are removed so she can stand, still cuffed behind her back, and Fiona is told shes being taken downtown to begin processing.\n\nTo Be Continued in Part 2.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/2903952b-8918-412f-959b-b31bab9b1bae/playlist.m3u8"
}
],
"scraped_at": 1777121389
},
"https://www.jailbirdz.com/pinkcuffs-videos/fiona-peaches-arrested-for-cyber-fraud-part-2/": {
"title": "Fiona Peaches Arrested for Cyber Fraud | Part 2",
"description": "After the arrest, Fiona is brought downtown still secured in hinged cuffs behind her back. Officer Persephone removes her from the patrol car and performs a thorough pat down in the station garage, checking her waistband, pockets, boots, and seams before bringing her inside. Fiona complains about how tight everything feels, but the restraints remain in place while she is moved deeper into the facility.\n\nShes placed straight into a holding cell with her wrists still locked behind her. Only after the door is fully secured does Officer Persephone switch her cuffs to the front through the port, keeping control the entire time. Fiona continues to complain about the cold and the confinement, but she is left to wait until processing is ready.\n\nWhen Persephone returns, Fiona is taken from the cell and positioned for intake. Shes instructed to place all of her clothing into a white bucket and undergo a full nude strip search. Arms out, full turn, feet lifted, toes moved, hair shaken out, inside of her mouth checked, and a squat and cough. Nothing is skipped, and every step is completed as part of standard procedure.\n\nA tight waist chain is added connected to tight cuffs behind her back. She is then brought to the backdrop for her mugshots, still nude, Being nude and cuffed for mugshots that everyone will see, makes the moment even more humiliating as the booking continues!\n\nTo Be Continued in Part 3.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/1fdaeb8d-a137-43a5-9fec-7bb4cd55a3b5/playlist.m3u8"
}
],
"scraped_at": 1777121389
},
"https://www.jailbirdz.com/pinkcuffs-videos/fiona-peaches-arrested-for-cyber-fraud-part-3/": {
"title": "Fiona Peaches Arrested for Cyber Fraud | Part 3",
"description": "Fiona stays fully restrained in the tight waist chain with her hinged cuffs locked behind her back while Officer Persephone questions her about all the electronics pulled from the apartment. Shes still completely nude from the strip search, frustrated, denying everything, and getting more annoyed as the officer keeps pushing for answers. The entire questioning happens with her still cuffed behind her in the waist chain.\n\nThen Persephone finally moves her cuffs to the front so she can go through fingerprinting. Fiona is still nude, but chained to the desk for fingerprinting.\n\nAfter prints are taken, Persephone brings her back to the holding cell the same way: nude, tightly secured, and walked straight inside. Only after the door is locked does the officer take the cuffs off so Fiona can change into the jail jumpsuit. Fiona complains about the size and the fit, but shes told to button it up anyway and hurry up. When shes done, she puts her wrists back through the port like she was told so the cuffs can be reapplied.\n\nWith the jumpsuit on and her restraints back in place, Fionas intake is finally complete.\n\nThe End",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/4a6e72d3-7cf6-4a44-b866-28b008ff4293/playlist.m3u8"
}
],
"scraped_at": 1777121390
},
"https://www.jailbirdz.com/pinkcuffs-videos/siren-raynes-trespass-arrest-part-1/": {
"title": "Siren Raynes Trespass Arrest | Part 1",
"description": "Siren Rayne is detained after multiple complaints come in specifically about her. Kiia arrives and finds her trespassing on someone elses property. Siren keeps giving shifting explanations and refuses to give a clear reason for being there. The attitude builds until Kiia decides she is done with the excuses.\n\nSiren is ordered down and told to place her hands on her head. Kiia brings one arm down at a time and cuffs her behind her back in pink ASP chain cuffs, locking them firmly with a reminder about her past escape attempt. Siren is brought to her feet, read her rights, and taken into custody.\n\nAt the station a full pat down follows. Siren complains throughout the search, and Kiia responds by tightening her cuffs and ordering her to stand against the wall for the final check.\n\nTo Be Continued in Part 2.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/56569213-31c0-485b-8470-f6941cc4bfb0/playlist.m3u8"
}
],
"scraped_at": 1777121392
},
"https://www.jailbirdz.com/pinkcuffs-videos/siren-raynes-trespass-arrest-part-2/": {
"title": "Siren Raynes Trespass Arrest | Part 2",
"description": "Processing begins as Siren Rayne is seated for questioning. Kiia goes straight to the money found during the pat down and asks again where it came from. Siren gives the same shifting explanation about old jeans, and Kiia makes it clear she does not believe a word of it. The attitude continues until Kiia decides they are moving on.\n\nShe is taken for mugshots next. Forward, left, and right photos are taken, and Siren is placed against the wall afterward, still cuffed behind her back in the pink ASP cuffs. From there she is brought to the holding cell, where she waits for the next step with her cuffs still fully secured.\n\nShe is then taken out for a full strip search. Kiia moves through each part of the inspection before issuing her a black and white jumpsuit. Once she is dressed, Siren is restrained in police zipties and then placed back in the cell to wait for the next stage of processing.\n\nTo Be Continued in Part 3.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/0465d9d5-8102-43cd-87fa-906fa448196c/playlist.m3u8"
}
],
"scraped_at": 1777121393
},
"https://www.jailbirdz.com/pinkcuffs-videos/siren-raynes-trespass-arrest-part-3/": {
"title": "Siren Raynes Trespass Arrest | Part 3",
"description": "Siren Rayne sits in her cell for a while with her wrists locked tightly behind her back in police zip ties. She struggles and complains, but Kiia keeps her secured until it is time to move her again. When Kiia returns, the zip ties are cut off with a pair of cutters, and Siren is ordered to place her hands on her head so she can be restrained properly.\n\nA waist chain is brought out next. Kiia positions Siren, wraps the chain around her waist, and brings her hands forward to secure them in front with hinge cuffs. The chain is pulled snug, and an additional length is routed between her legs for extra control.\n\nShe is taken to a small courtroom for her hearing. The judge reviews the case while Siren stands in the waist chain and hinge cuffs. Kiia explains the arrest, including the trespassing call, the multiple complaints, and Sirens refusal to cooperate. Siren gives her side, admitting she stayed on the property longer than she should have but insisting it was not meant to cause trouble.\n\nThe judge listens, notes her attitude and history, and issues the final sentence. Siren Rayne is ordered to serve two hundred and fifty days in custody. Kiia is told to take her away, and Siren is led out still fully restrained, her new sentence beginning immediately.\n\nThis concludes the full series.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/85d7491c-8e17-4eaa-a578-efe0e60672d0/playlist.m3u8"
}
],
"scraped_at": 1777121393
},
"https://www.jailbirdz.com/pinkcuffs-videos/persephone-gracie-daisys-voluntary-surrender-part-1/": {
"title": "Persephone, Gracie &amp; Daisys Voluntary Surrender | Part 1",
"description": "Persephone Page, Gracie, and Daisy Meadows decide to do the unthinkable, call the police themselves, confess their crimes, and wait together for whatever comes next. They explain the robbery and the fight that followed, but they stay committed to turning themselves in. By the time Officer Reese arrives, all three are already on the ground with their hands on their heads, bracing for the moment everything becomes real.\n\nShe wastes no time. Each girl is cuffed behind the back in hinged cuffs and locked securely. One by one they are brought to their feet, placed in a line, and spaced exactly how Reese wants them.\n\nOfficer Reese performs the initial pat downs, checking each girl in turn, then positions them together for the next step of the arrest.\n\nTo Be Continued in Part 2.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/60298281-7f82-462b-a8c2-03d639f08e81/playlist.m3u8"
}
],
"scraped_at": 1777121393
},
"https://www.jailbirdz.com/pinkcuffs-videos/persephone-gracie-daisys-voluntary-surrender-part-2/": {
"title": "Persephone, Gracie &amp; Daisys Voluntary Surrender | Part 2",
"description": "Officer Reese pulls Persephone Page, Gracie, and Daisy Meadows out of the car one at a time. They already turned themselves in for the robbery and beating up a man, and now the arrest becomes real. All three are still in hinged cuffs behind the back as Reese keeps them steady and under control. Each girl receives a more thorough pat down, facing her, turning around when told.\n\nReese then brings them inside for the next step. She moves each girls cuffs from behind the back to the front, securing them one at a time. After that, she cuffs each prisoner directly to the desk, linking all three together so none of them can move away. They stand shoulder to shoulder, chained in place, waiting for whatever comes next.\n\nTo Be Continued in Part 3.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/4b555376-0540-487b-9b7d-add52bc7e582/playlist.m3u8"
}
],
"scraped_at": 1777121396
},
"https://www.jailbirdz.com/pinkcuffs-videos/persephone-gracie-daisys-voluntary-surrender-part-3/": {
"title": "Persephone, Gracie &amp; Daisys Voluntary Surrender | Part 3",
"description": "Part Three opens with all three prisoners secured to the desk in hinged cuffs, their wrists restrained in front and chained firmly to the desk. Officer Reese begins fingerprinting them one at a time. After fingerprints, phone calls are allowed. Still cuffed in front and secured at the desk, they make their calls under supervision.\n\nThe desk restraints are then removed and the group is moved to the bench. Daisy and Gracie remain cuffed in front. Persephone is taken up first. Her front cuffs are removed so her mugshot can be taken and she can be searched. After the search is finished, she is secured again, this time with her hands cuffed behind her back in hinged cuffs.\n\nThe scene closes with Daisy and Gracie seated side by side with their hands restrained in front, Persephone secured behind her back, and Gracie about to be called up individually for the next phase of processing.\n\nTo Be Continued in Part 4.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/873dd5bf-857d-4b3d-8e25-46b41678b63d/playlist.m3u8"
}
],
"scraped_at": 1777121396
},
"https://www.jailbirdz.com/pinkcuffs-videos/persephone-gracie-daisys-voluntary-surrender-part-4/": {
"title": "Persephone, Gracie &amp; Daisys Voluntary Surrender | Part 4",
"description": "Part Four begins with Gracie being pulled up for her mugshots, still in hinged cuffs in front. After the photographs are taken, she undergoes a thorough search that includes shaking out her hair, showing behind her ears, lifting her tongue, and turning for inspection. Once the search is complete, her hands are secured behind her back in hinged cuffs.\n\nDaisy follows the same process. Her front cuffs are removed for mugshots and search, then reapplied behind her back once processing is finished.\n\nWith individual processing complete, the three are lined up and moved into the holding cell. The door closes briefly, reinforcing the reality of confinement.\n\nThey are then pulled back out for the final part of their processing. Each is issued a green jail jumpsuit and instructed to change. Once dressed, additional restraints are added. Ankle shackles are secured, and they are chained together in a controlled line.\n\nAll three now stand uniformed, cuffed behind the back, shackled, and linked together as intake concludes.\n\nThe End",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/f1df97d3-14f9-4801-9c5a-e30d37ef20ba/playlist.m3u8"
}
],
"scraped_at": 1777121396
},
"https://www.jailbirdz.com/pinkcuffs-videos/serendipity-arrests-valentina-pt1/": {
"title": "Serendipity Arrests Valentina pt1",
"description": "Part 1Valentina is relaxing on the couch, scrolling on her phone, when Officer Serendipity (who is family) arrives unexpectedly with serious news. Despite their close relationship, Serendipity has a duty to uphold… and tonight, that means taking Valentina into custody.\n\nTorn between friendship and responsibility, Officer Serendipity carefully reads Valentina her rights before placing her under arrest. The tension is undeniable as Valentina is escorted to the station, where Officer Serendipity proceeds with a thorough search as part of the booking process.",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/a8f8181f-7733-4a2f-899c-5a58a7649329/playlist.m3u8"
}
],
"scraped_at": 1777356456
},
"https://www.jailbirdz.com/pinkcuffs-videos/serendipity-arrests-valentina-pt2/": {
"title": "Serendipity Arrests Valentina pt2 (in progress)",
"description": "",
"videos": [
{
"url": "https://vz-8deb9235-8d6.b-cdn.net/28f06c95-6a24-4c54-88f9-0660afb6fc12/playlist.m3u8"
}
],
"scraped_at": 1777616213
"videos": []
}
},
"pinkcuffs": {
@@ -18494,12 +18231,7 @@
"https://www.pinkcuffs.com/pinkcuffs-videos/charlotte-in-cuffs-photoset/": {
"title": "Charlotte in Cuffs Photoset",
"description": "21 images of Charlotte in different handcuff positions and locations. Enjoy!",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/c0a5d0b1-c5f2-411f-a895-565d962577ed/playlist.m3u8"
}
],
"scraped_at": 1773902673
"videos": []
},
"https://www.pinkcuffs.com/pinkcuffs-videos/honey-lemon-arrested-part-2/": {
"title": "Honey Lemon Arrested Part 2",
@@ -20909,12 +20641,7 @@
"https://www.pinkcuffs.com/pinkcuffs-videos/custom-video-dungeon/": {
"title": "Custom Video Dungeon",
"description": "We have 1 or 2 spots left to get your very own custom video at a dungeon! Send us your script and let us make your vision come true. The dungeon has lots of fun toys and includes solitary confinement, cement shower, padded room, 2 fully loaded cells with toilets, guard station, restraint chair, play room and more! These lovely ladies (Persephone, Stevie Mae, Renee Risque, and Lo Valentine) are available to star in your video! Email us at pinkcuffsaz@gmail.com for more details and dont miss this chance!",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/72ec9b1b-646c-4226-9bd5-6171a10e1d95/playlist.m3u8"
}
],
"scraped_at": 1773902664
"videos": []
},
"https://www.pinkcuffs.com/pinkcuffs-videos/crushing-it/": {
"title": "Crushing It",
@@ -21637,7 +21364,7 @@
"scraped_at": 1772325124
},
"https://www.pinkcuffs.com/pinkcuffs-videos/live-at-boundlive-com-or-email-us-for-custom-requests/": {
"title": "Page not found",
"title": "Live at boundlive.com or email us for custom requests!",
"description": "We are at the prison again\n\nemail pinkcuffsaz@gmail.com\n\nfor custom requests or\n\nvisit boundlive.com and\n\nsee if we are online\n\n(will be on once more tomorrow)",
"videos": []
},
@@ -21728,12 +21455,7 @@
"https://www.pinkcuffs.com/pinkcuffs-videos/boundlive-com-live-cam-and-videos/": {
"title": "boundlive.com Live Cam and videos!",
"description": "our new site is live!!! watch Mackenzie, you can have her handcuffed, hogtied, arrested exc. We are live now for another hour or two 5pm Pacific time zone",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/08f46189-7543-4bee-a65d-c952195dd27d/playlist.m3u8"
}
],
"scraped_at": 1773902671
"videos": []
},
"https://www.pinkcuffs.com/pinkcuffs-videos/ice-princess-cuffed/": {
"title": "Ice Princess Cuffed",
@@ -22600,7 +22322,7 @@
"scraped_at": 1772325252
},
"https://www.pinkcuffs.com/pinkcuffs-videos/callie-klein-takes-a-bubble-bath-in-cuffs-photoset/": {
"title": "Page not found",
"title": "Callie Klein takes a bubble bath in cuffs (photoset)",
"description": "87 high quality images of Callie Klein taking a bubble bath in cuffs.",
"videos": []
},
@@ -22781,12 +22503,7 @@
"https://www.pinkcuffs.com/pinkcuffs-videos/nikki-darling-and-gracie-play-with-cuffs-on-the-bed/": {
"title": "Nikki Darling and Gracie Play with Cuffs on the Bed",
"description": "Nikki has invited Gracie over to play with some cuffs and chains together. She starts by wrapping a waist chain around Gracies tiny waist, using a pair of chained handcuffs to lock her wrists in. Next she brings the remaining length of the chain over her crotch and locks in the back with a cuff key lock. Gracie does the same for Nikki, using a chain on her and cuffs as well. After some struggling, Nikki switches Gracies wrists and cuffs to behind her back and the two giggle and struggle.",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/c0a5d0b1-c5f2-411f-a895-565d962577ed/playlist.m3u8"
}
],
"scraped_at": 1773903269
"videos": []
},
"https://www.pinkcuffs.com/anti-trafficking-and-exploitation-policy/": {
"title": "Anti",
@@ -22797,72 +22514,7 @@
"https://www.pinkcuffs.com/pinkcuffs-videos/no-escape-lauren-in-chains/": {
"title": "No Escape: Lauren in Chains",
"description": "Lauren begins the challenge already locked in a serious restraint setup. A tight waist chain secures her to the front of the jail cell bars, holding her upright and preventing her from walking away or sitting down. Her wrists are secured behind her back in black hinged handcuffs, limiting her ability to twist or maneuver her hands. Her ankles are locked in heavy shackles that are chained directly to the bars, keeping her feet pinned in place so she cannot step away from the cell.\n\nLauren immediately starts testing the restraints, tugging at the cuffs and chains while complaining about how tight everything feels. She shifts her weight and tries to adjust her position, even attempting to sit, but the waist chain keeps her held standing against the bars. The more she struggles, the more she realizes just how little movement she actually has.\n\nAs her frustration grows, she begins talking to herself and complaining about how impossible the setup feels. She keeps pulling against the restraints, trying to find any slack, but the hinged cuffs and chained shackles leave her with almost no leverage.\n\nHer struggle becomes loud enough that Officer Luna Lux returns, warning her about making too much noise. To make things even stricter, Luna adds another cuff from Laurens wrist directly to the cell bars, further restricting her movement and tightening the already difficult situation.\n\nNow with even less freedom to move, Lauren grows increasingly frustrated and desperate, complaining that the cuffs and shackles are too tight and asking if someone can please let her out. Despite her continued attempts to pull free, the restraints hold firm.\n\nBy the end of the challenge, Lauren is left fully secured, wrists cuffed behind her back, ankles shackled to the bars, and her waist chain holding her upright with no way to escape the restraints.",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/72ec9b1b-646c-4226-9bd5-6171a10e1d95/playlist.m3u8"
}
],
"scraped_at": 1773903269
},
"https://www.pinkcuffs.com/pinkcuffs-videos/siren-rayne-chained-to-the-pipe-in-tight-zip-ties-and-cuffs/": {
"title": "Siren Rayne Chained to the Pipe in Tight Zip Ties and Cuffs",
"description": "Siren Rayne  tightly ziptied in front and secured to a solid metal pipe wrapped with a heavy, locked chain. Dressed in black lace lingerie and sheer stockings, her movement is limited from the start.\n\nShe tests the tight restraints, flexing her wrists and shifting against the anchored chain, but the setup holds firm.\n\nThe zip ties are cut and replaced with rigid metal handcuffs, adding weight and control. The chain is tightened again beside the pipe.\n\nNext, solid ankle shackles are applied, further reducing her mobility. And then finally she is restrained behind the back",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/08f46189-7543-4bee-a65d-c952195dd27d/playlist.m3u8"
}
],
"scraped_at": 1773903277
},
"https://www.pinkcuffs.com/pinkcuffs-videos/autumn-cuffs-luna-full-series/": {
"title": "Autumn Cuffs Luna | Full Series",
"description": "This video is rendering, check back in a few hours. Sorry for getting behind I will be posting 2 updates this week to make up for last week getting missed. Thanks for understanding",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/8c0e3746-d0bd-40dc-a586-6619f77c5d5e/playlist.m3u8"
}
],
"scraped_at": 1775106234
},
"https://www.pinkcuffs.com/pinkcuffs-videos/daisy-meadows-tries-to-use-lotion-to-escape-cuffs/": {
"title": "Daisy Meadows Tries To Use Lotion To Escape Cuffs",
"description": "Daisy finds a pair of silver chained cuffs on the coffee table and decides to try to escape from them. After putting them on she tries to squeeze her hands out of them. When she cant do it, she finds lotion and squirts it on her arms and wrists. She spreads the lotion around, hoping to be able to slide her hands out now. When that doesnt work, she finds the key and is able to take them off. Then she finds a pair of antique cuff and wants to try escaping from those the same way. She is once again unable to but doesnt know where the key is. Humiliated, she calls a friend to help her get them off.",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/0dc27fa3-fe73-48bf-a353-cb959634b1fe/playlist.m3u8"
}
],
"scraped_at": 1776230727
},
"https://www.pinkcuffs.com/pinkcuffs-videos/lo-valentine-and-nikki-darling-work-out-in-cuffs/": {
"title": "Lo Valentine and Nikki Darling Work Out in Cuffs",
"description": "Lo Valentine and Nikki Darling are sitting in a cell, with a spread of cuffs and shackles in front of them. Lo has the idea to do a work out while cuffed and shackled. They talk about how it might be really hard but theyll have lots of fun with it. The cuff and shackle each other and then start stretching and working out in the cell. After warming up they decide to add thumb cuffs and then struggle to finish their routine.",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/eb1e8d9b-c398-4007-9fa6-ff2923aed030/playlist.m3u8"
}
],
"scraped_at": 1776317551
},
"https://www.pinkcuffs.com/pinkcuffs-videos/persephone-and-lauren-play-with-cuffs-on-the-bed/": {
"title": "Persephone and Lauren Play With Cuffs On The Bed",
"description": "Persephone and Lauren are sitting on their bed admiring the cuffs when Lauren mentions shes intimidated. Persephone reassures her and tells her she wants to start by putting cuffs on her. She picks up the silver shackles and locks them around Laurens ankles, and Lauren follows her lead by locking the black and silver shackles around Persephones ankles to match. They continue by adding waist chains to each other, using hinged and chained handcuffs with it. Persephone lays back and Lauren adds a pair of red cuffs to their shackles to connect the two of them and she lays back with her. They kick their feet around and show off the cuffs and shackles before Lauren removes the red cuffs and attaches them to each of their waist chains to keep them connected. They continue to struggle and show off the cuffs until the video ends.",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/48635ab4-3bfd-4743-9170-90ce21844873/playlist.m3u8"
}
],
"scraped_at": 1776922294
},
"https://www.pinkcuffs.com/pinkcuffs-videos/larz-introduces-jade-to-playing-with-cuffs/": {
"title": "Larz Introduces Jade to Playing With Cuffs",
"description": "Larz invited Jade over to play with our cuffs, and she doesnt hesitate in getting started. They begin with a small pair of cuffs that fit around Jades thumbs, and then Larz has her remove her socks to show how they can also lock around her toes. After a few minutes Larz removes the cuffs and has Jade lay on her stomach. Larz puts a pair of yellow chained cuffs on Jades wrists behind her back and uses a pair of shackles to put her in a hog cuff. Larz gently tickles Jades feet before letting her out of the hog cuff by disconnecting the shackles and handcuffs. She then removes the handcuffs and Jade sits up and continues being cuffed by Larz. The video ends with Larz cuffing Jade to the bed using a pair of hinged and chained cuffs and then locking her shackles to the foot of the bed.",
"videos": [
{
"url": "https://vz-017d7722-1e8.b-cdn.net/d4506261-40e2-43c2-941f-8fd55820b0cf/playlist.m3u8"
}
],
"scraped_at": 1777528814
"videos": []
}
}
}