[object Object]

← back to Rentv Ad Engine

TK-10343: scale ad-engine harvest to all 123 Vimeo videos (advertisers+guests+airings)

c5ebed2439092cbceb2b12d29b8902b52820bb39 · 2026-08-07 14:00:01 -0700 · Steve Abrams

- New scripts/extract-frames.py mines the 85 caption-less client PROMO videos'
  poster/title-card OCR (data/frames.json, local qwen2.5vl already run, $0) into
  advertiser records — company name, category, on-card website/phone/email/pitch.
- extract.py rebuild now folds in poster_ocr extractions; tags each merged
  advertiser source=transcript|mixed|poster_ocr + promo_only.
- build-adairings.py: promo_only advertisers get an exact whole-clip promo airing
  and are excluded from the fuzzy transcript scan (fixes Wilshire-Grand 153->2
  phantom over-match).
- Coverage: 123/123 canonical videos extracted (38 transcript + 85 poster-OCR).
  advertisers 30->92, guests 44, airings 179->269 across 94 videos. All $0 local.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit c5ebed2439092cbceb2b12d29b8902b52820bb39
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Fri Aug 7 14:00:01 2026 -0700

    TK-10343: scale ad-engine harvest to all 123 Vimeo videos (advertisers+guests+airings)
    
    - New scripts/extract-frames.py mines the 85 caption-less client PROMO videos'
      poster/title-card OCR (data/frames.json, local qwen2.5vl already run, $0) into
      advertiser records — company name, category, on-card website/phone/email/pitch.
    - extract.py rebuild now folds in poster_ocr extractions; tags each merged
      advertiser source=transcript|mixed|poster_ocr + promo_only.
    - build-adairings.py: promo_only advertisers get an exact whole-clip promo airing
      and are excluded from the fuzzy transcript scan (fixes Wilshire-Grand 153->2
      phantom over-match).
    - Coverage: 123/123 canonical videos extracted (38 transcript + 85 poster-OCR).
      advertisers 30->92, guests 44, airings 179->269 across 94 videos. All $0 local.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 data/adairings.json              | 1084 ++++++++++++++++++-
 data/advertisers.json            | 2130 ++++++++++++++++++++++++++++++--------
 data/extractions/101654810.json  |   20 +
 data/extractions/107204372.json  |   20 +
 data/extractions/107762220.json  |   20 +
 data/extractions/1083190047.json |   11 +
 data/extractions/109994315.json  |   20 +
 data/extractions/1158999653.json |   11 +
 data/extractions/117977696.json  |   20 +
 data/extractions/125349744.json  |   20 +
 data/extractions/135939853.json  |   20 +
 data/extractions/142347178.json  |   20 +
 data/extractions/142347291.json  |   22 +
 data/extractions/142347515.json  |   20 +
 data/extractions/142348009.json  |   11 +
 data/extractions/142348532.json  |   20 +
 data/extractions/142348827.json  |   20 +
 data/extractions/142350083.json  |   20 +
 data/extractions/142351726.json  |   20 +
 data/extractions/142353259.json  |   20 +
 data/extractions/143827823.json  |   20 +
 data/extractions/144943180.json  |   11 +
 data/extractions/149786738.json  |   24 +
 data/extractions/157877482.json  |   20 +
 data/extractions/157877500.json  |   20 +
 data/extractions/157877501.json  |   20 +
 data/extractions/157877502.json  |   20 +
 data/extractions/157877503.json  |   11 +
 data/extractions/157877504.json  |   11 +
 data/extractions/162573796.json  |   11 +
 data/extractions/162573927.json  |   11 +
 data/extractions/162574294.json  |   11 +
 data/extractions/162574320.json  |   20 +
 data/extractions/162574338.json  |   20 +
 data/extractions/162574358.json  |   11 +
 data/extractions/162712456.json  |   28 +
 data/extractions/162712493.json  |   11 +
 data/extractions/162712517.json  |   20 +
 data/extractions/167990145.json  |   20 +
 data/extractions/167990176.json  |   20 +
 data/extractions/167990218.json  |   20 +
 data/extractions/167990238.json  |   68 ++
 data/extractions/167990250.json  |   20 +
 data/extractions/167990282.json  |   11 +
 data/extractions/171347069.json  |   20 +
 data/extractions/172014042.json  |   20 +
 data/extractions/172014125.json  |   20 +
 data/extractions/172014837.json  |   11 +
 data/extractions/188261706.json  |   11 +
 data/extractions/188271441.json  |   44 +
 data/extractions/208460446.json  |   20 +
 data/extractions/227217030.json  |   20 +
 data/extractions/227224358.json  |   44 +
 data/extractions/228295912.json  |   20 +
 data/extractions/232088787.json  |   20 +
 data/extractions/242491490.json  |   20 +
 data/extractions/308597317.json  |   20 +
 data/extractions/31239971.json   |   20 +
 data/extractions/315327378.json  |   20 +
 data/extractions/316709134.json  |   11 +
 data/extractions/32191299.json   |   20 +
 data/extractions/33583429.json   |   20 +
 data/extractions/35868287.json   |   20 +
 data/extractions/38894517.json   |   20 +
 data/extractions/39610422.json   |   20 +
 data/extractions/42140576.json   |   20 +
 data/extractions/429079440.json  |   20 +
 data/extractions/434219208.json  |   11 +
 data/extractions/44468806.json   |   20 +
 data/extractions/46769758.json   |   20 +
 data/extractions/48347303.json   |   20 +
 data/extractions/493420423.json  |   24 +
 data/extractions/503234116.json  |   20 +
 data/extractions/50591120.json   |   20 +
 data/extractions/507211620.json  |   11 +
 data/extractions/52820750.json   |   11 +
 data/extractions/55380262.json   |   11 +
 data/extractions/565693580.json  |   11 +
 data/extractions/56573116.json   |   20 +
 data/extractions/65258106.json   |   20 +
 data/extractions/69208165.json   |   20 +
 data/extractions/71974003.json   |   20 +
 data/extractions/77077219.json   |   20 +
 data/extractions/82824854.json   |   20 +
 data/extractions/85237519.json   |   20 +
 data/extractions/90807750.json   |   20 +
 data/extractions/95064851.json   |   20 +
 data/guests.json                 |    2 +-
 scripts/build-adairings.py       |   54 +
 scripts/extract-frames.py        |  198 ++++
 scripts/extract.py               |   35 +
 91 files changed, 4725 insertions(+), 412 deletions(-)

diff --git a/data/adairings.json b/data/adairings.json
index 5e3e505..7d5b6f6 100644
--- a/data/adairings.json
+++ b/data/adairings.json
@@ -1,6 +1,6 @@
 {
- "generated_at": "2026-08-07 11:01:42",
- "count": 179,
+ "generated_at": "2026-08-07 13:58:39",
+ "count": 269,
  "airings": [
   {
    "advertiser": "Rockefeller Group",
@@ -1142,6 +1142,18 @@
    "spoken_copy": "fidelity Mortgage Lenders, and Paramount Property Tax Appeal.",
    "source": "vimeo"
   },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 29,
+   "end": 29,
+   "timecode": "0:29",
+   "deeplink": "https://vimeo.com/906276616#t=29s",
+   "spoken_copy": "Irwin Busey, founder and principal of Paragon Commercial Group.",
+   "source": "vimeo"
+  },
   {
    "advertiser": "Paramount Property Tax Appeal",
    "episode_id": 906276616,
@@ -1178,6 +1190,78 @@
    "spoken_copy": "Excellent. Our last sponsor, but certainly not the least, is commercial real estate inspectors in Southern California. Their skilled inspectors provide critically needed inspection information in easily understood terms, as well as inexpensive, simple solutions. Whenever possible, let commercial real estate inspectors",
    "source": "vimeo"
   },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 230,
+   "end": 307,
+   "timecode": "3:50",
+   "deeplink": "https://vimeo.com/906276616#t=230s",
+   "spoken_copy": "Yeah, with that said, let's bring in IWiN Busey from Paragon Commercial Group. Welcome, IWiN. Hey, welcome, IWiN. Thanks to both of you for having me. I deeply appreciate it. Uh, it's been, uh, I've admired all your hard work and all your efforts and all your different, uh, venues that you provide. So, um, honored to be here and thank you for having me. Well, We're honored to have you and we're honored to of your work, which we're gonna find out a little bit about right now. So, um, We've got a lot to cover. That's, so I say we dive right into it. So, uh, Go ahead. You start, Steve, Why don't ",
+   "source": "vimeo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 479,
+   "end": 479,
+   "timecode": "7:59",
+   "deeplink": "https://vimeo.com/906276616#t=479s",
+   "spoken_copy": "And then one third our own capital account for, um, deals that we own, um, as, as Paragon. Right.",
+   "source": "vimeo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 647,
+   "end": 647,
+   "timecode": "10:47",
+   "deeplink": "https://vimeo.com/906276616#t=647s",
+   "spoken_copy": "How did you end up conceiving and, and thinking about, and actually then starting Paragon from Regency?",
+   "source": "vimeo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 701,
+   "end": 701,
+   "timecode": "11:41",
+   "deeplink": "https://vimeo.com/906276616#t=701s",
+   "spoken_copy": "to figure out if I can swim in the pool by myself. And, um, um, you know, when we formed Paragon,",
+   "source": "vimeo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 812,
+   "end": 817,
+   "timecode": "13:32",
+   "deeplink": "https://vimeo.com/906276616#t=812s",
+   "spoken_copy": "the various moving pieces. And, um, um, so we, we jumped and we, we joined Paragon and, uh, started Paragon.",
+   "source": "vimeo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 1091,
+   "end": 1105,
+   "timecode": "18:11",
+   "deeplink": "https://vimeo.com/906276616#t=1091s",
+   "spoken_copy": "and my customers and, you know, go above and beyond so that the Paragon brand and the Erwin Busey brand, um, really rises to the top so that if there's an opportunity, uh, where a tenant has a complicated project, hopefully they're thinking of Paragon as, as we all know,",
+   "source": "vimeo"
+  },
   {
    "advertiser": "Capitol Rivers Commercial",
    "episode_id": 906276616,
@@ -1190,6 +1274,42 @@
    "spoken_copy": "Um, are there other factors return on equity cashflow that are, are as much drivers as a gut feel",
    "source": "vimeo"
   },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 1911,
+   "end": 1911,
+   "timecode": "31:51",
+   "deeplink": "https://vimeo.com/906276616#t=1911s",
+   "spoken_copy": "That's a great question. Um, so really the business plan of Paragon",
+   "source": "vimeo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 2206,
+   "end": 2206,
+   "timecode": "36:46",
+   "deeplink": "https://vimeo.com/906276616#t=2206s",
+   "spoken_copy": "And, um, I think it, it, it, it's, it's really important as developers and it as Paragon's brand,",
+   "source": "vimeo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 906276616,
+   "episode_title": "RENTV CRE Talk Episode #8 Erwin Bucy",
+   "url": "https://vimeo.com/906276616",
+   "start": 3537,
+   "end": 3537,
+   "timecode": "58:57",
+   "deeplink": "https://vimeo.com/906276616#t=3537s",
+   "spoken_copy": "So, uh, you know, awesome. Wish you the best with Paragon",
+   "source": "vimeo"
+  },
   {
    "advertiser": "Commercial Real Estate Inspectors",
    "episode_id": 906276616,
@@ -1814,6 +1934,18 @@
    "spoken_copy": "11 million square feet. And the Riverside and San Bernardino are tied at about eight.",
    "source": "vimeo"
   },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 830276773,
+   "episode_title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
+   "url": "https://vimeo.com/830276773",
+   "start": 20,
+   "end": 52,
+   "timecode": "0:20",
+   "deeplink": "https://vimeo.com/830276773#t=20s",
+   "spoken_copy": "It is comprised of John Reed with CBR E's, national Retail Partners, west Todd Huber with Paragon Commercial Group, Jennifer McClain Harimoto with the City of Ontario. Greg Gia Capozzi with Newmar Merrill Companies, and Brad Umansky with Progressive Real Estate Partners, Bradman of real estate partners, and we do more retail and lease transactions than any, any other firm from within 30 miles of Where you're sitting. Make sure to get that mic close to you guys so we all can hear it. Got it. Todd, Todd Huber, director of Development at Paragon Commercial Group, um,",
+   "source": "vimeo"
+  },
   {
    "advertiser": "Capitol Rivers Commercial",
    "episode_id": 830276773,
@@ -1886,6 +2018,30 @@
    "spoken_copy": "if you've got a property they want to be at, there's a way to skin that cat. Um, on Riverside, we were starting basically from scratch, right?",
    "source": "vimeo"
   },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 830276773,
+   "episode_title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
+   "url": "https://vimeo.com/830276773",
+   "start": 1995,
+   "end": 1995,
+   "timecode": "33:15",
+   "deeplink": "https://vimeo.com/830276773#t=1995s",
+   "spoken_copy": "financing for a much longer window, uh, than somebody like, like Paragon or Newmark Merrill companies is, it can be very dangerous.",
+   "source": "vimeo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 812982818,
+   "episode_title": "RENTV ORANGE COUNTY RETAIL PANEL MARCH 16, 2023",
+   "url": "https://vimeo.com/812982818",
+   "start": 36,
+   "end": 36,
+   "timecode": "0:36",
+   "deeplink": "https://vimeo.com/812982818#t=36s",
+   "spoken_copy": "Investment Partners and Todd Huber with Paragon commercial group.",
+   "source": "vimeo"
+  },
   {
    "advertiser": "Paramount Property Tax Appeal",
    "episode_id": 812981342,
@@ -2149,6 +2305,930 @@
    "deeplink": "https://vimeo.com/739081927#t=56s",
    "spoken_copy": "helpful sure Jerry Fink, I'm one of the co-founders and managing Partners the Bascom group. We started",
    "source": "vimeo"
+  },
+  {
+   "advertiser": "Gantry",
+   "episode_id": 503234116,
+   "episode_title": "GANTRY Video_VO",
+   "url": "https://vimeo.com/503234116",
+   "start": 0,
+   "end": 55,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/503234116",
+   "spoken_copy": "Gantry",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "F&F Income Properties, LLC",
+   "episode_id": 493420423,
+   "episode_title": "F & F Income Properties - Your San Diego Family Mutifamily Owner",
+   "url": "https://vimeo.com/493420423",
+   "start": 0,
+   "end": 29,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/493420423",
+   "spoken_copy": "F&F INCOME PROPERTIES, LLC / Call Dan at (858) 342-8462 / Dan@FandFInc.com / 4060 30th St. | San Diego, CA 92104",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Not Identifiable",
+   "episode_id": 429079440,
+   "episode_title": "CapitalRiversCovidFinal",
+   "url": "https://vimeo.com/429079440",
+   "start": 0,
+   "end": 35,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/429079440",
+   "spoken_copy": "This community will come back stronger and we're here to help navigate you through.",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Kilroy",
+   "episode_id": 315327378,
+   "episode_title": "Kilroy Realty's Oyster Point - An Aerial Introduction",
+   "url": "https://vimeo.com/315327378",
+   "start": 0,
+   "end": 73,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/315327378",
+   "spoken_copy": "KILROY / OYSTER POINT / \u00b0",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "The Center at Needham Ranch",
+   "episode_id": 308597317,
+   "episode_title": "Introducing The Center at Needham Ranch",
+   "url": "https://vimeo.com/308597317",
+   "start": 0,
+   "end": 152,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/308597317",
+   "spoken_copy": "THE CENTER at Needham Ranch / C",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Birtcher Development LLC",
+   "episode_id": 242491490,
+   "episode_title": "Brandon Birtcher, CEO of Birtcher Development, LLC, Keynote Address at RENTV's South Bay/Long Beach Conference 10.18.17",
+   "url": "https://vimeo.com/242491490",
+   "start": 0,
+   "end": 1999,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/242491490",
+   "spoken_copy": "Keynote Address / BIRTCHER DEVELOPMENT / LEGACY REAL ESTATE / Brandon Birtcher / Birtcher Development LLC / Conventional Thinking May Be Irrelevant",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Trabuco Hills Center",
+   "episode_id": 232088787,
+   "episode_title": "Introduction to Pacific Castle 1 Q 2005",
+   "url": "https://vimeo.com/232088787",
+   "start": 0,
+   "end": 664,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/232088787",
+   "spoken_copy": "Trabuco Hills Center\nPurchased for $15.2 mil",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Veritas Investments",
+   "episode_id": 228295912,
+   "episode_title": "Yat-Pang Au, Founder & CEO of Veritas Investments - Keynote Address at RENTV's DT San Francisco Conference 7/20/17",
+   "url": "https://vimeo.com/228295912",
+   "start": 0,
+   "end": 1366,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/228295912",
+   "spoken_copy": "RENTV / REAL ESTATE NEWS / TELEVISION / KEYNOTE PRESENTATION / VERITAS / INVESTMENTS / Yat-Pang Au / Chief Executive Officer / Veritas Investments / Multi-family Demand for Infill, Existing Properties: / Where Today's Mobile Workforce Wants to Live / VERITAS INVESTMENTS",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Cushman & Wakefield",
+   "episode_id": 227224358,
+   "episode_title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+   "url": "https://vimeo.com/227224358",
+   "start": 0,
+   "end": 2191,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/227224358",
+   "spoken_copy": "OFFICE PANEL / Steve Marcussen Executive Director Cushman & Wakefield / Kent Handleman Senior VP, Brokerage Lincoln Property Company / Christopher Rising Founder and President Rising Realty Partners / James Malone VP, Leasing - US Office Division Brookfield Property Partners / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Lincoln Property Company",
+   "episode_id": 227224358,
+   "episode_title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+   "url": "https://vimeo.com/227224358",
+   "start": 0,
+   "end": 2191,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/227224358",
+   "spoken_copy": "OFFICE PANEL / Steve Marcussen Executive Director Cushman & Wakefield / Kent Handleman Senior VP, Brokerage Lincoln Property Company / Christopher Rising Founder and President Rising Realty Partners / James Malone VP, Leasing - US Office Division Brookfield Property Partners / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Rising Realty Partners",
+   "episode_id": 227224358,
+   "episode_title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+   "url": "https://vimeo.com/227224358",
+   "start": 0,
+   "end": 2191,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/227224358",
+   "spoken_copy": "OFFICE PANEL / Steve Marcussen Executive Director Cushman & Wakefield / Kent Handleman Senior VP, Brokerage Lincoln Property Company / Christopher Rising Founder and President Rising Realty Partners / James Malone VP, Leasing - US Office Division Brookfield Property Partners / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Brookfield Property Partners",
+   "episode_id": 227224358,
+   "episode_title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+   "url": "https://vimeo.com/227224358",
+   "start": 0,
+   "end": 2191,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/227224358",
+   "spoken_copy": "OFFICE PANEL / Steve Marcussen Executive Director Cushman & Wakefield / Kent Handleman Senior VP, Brokerage Lincoln Property Company / Christopher Rising Founder and President Rising Realty Partners / James Malone VP, Leasing - US Office Division Brookfield Property Partners / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Greenland USA",
+   "episode_id": 227217030,
+   "episode_title": "Metropolis Los Angeles, Presentation by Ryan Aubry. Director of Development, Greenland USA",
+   "url": "https://vimeo.com/227217030",
+   "start": 0,
+   "end": 1037,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/227217030",
+   "spoken_copy": "RENTV / GREENLAND USA / Ryan Aubry / Greenland USA / METROPOLIS / LOS ANGELES",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "FEBRUARY 22, 2017",
+   "episode_id": 208460446,
+   "episode_title": "Industrial Panel at RENTV's San Jose/SIlicon Valley State of the Market Conference - Feb 2017",
+   "url": "https://vimeo.com/208460446",
+   "start": 0,
+   "end": 3334,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/208460446",
+   "spoken_copy": "INDUSTRIAL PANEL / SAN JOSE / SILICON VALLEY STATE OF THE MARKET CONFERENCE / FEBRUARY 22, 2017 / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Champion Real Estate Company",
+   "episode_id": 188271441,
+   "episode_title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+   "url": "https://vimeo.com/188271441",
+   "start": 0,
+   "end": 2907,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/188271441",
+   "spoken_copy": "Bob Champion / President, Champion Real Estate Company / Alex Kozakov / Senior VP CBRE, Capital Markets / Eddie Prosser / Thorofare Capital / Jim Dillavou / Principal, Paragon Commercial Group / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "CBRE",
+   "episode_id": 188271441,
+   "episode_title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+   "url": "https://vimeo.com/188271441",
+   "start": 0,
+   "end": 2907,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/188271441",
+   "spoken_copy": "Bob Champion / President, Champion Real Estate Company / Alex Kozakov / Senior VP CBRE, Capital Markets / Eddie Prosser / Thorofare Capital / Jim Dillavou / Principal, Paragon Commercial Group / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Thorofare Capital",
+   "episode_id": 188271441,
+   "episode_title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+   "url": "https://vimeo.com/188271441",
+   "start": 0,
+   "end": 2907,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/188271441",
+   "spoken_copy": "Bob Champion / President, Champion Real Estate Company / Alex Kozakov / Senior VP CBRE, Capital Markets / Eddie Prosser / Thorofare Capital / Jim Dillavou / Principal, Paragon Commercial Group / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Paragon Commercial Group",
+   "episode_id": 188271441,
+   "episode_title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+   "url": "https://vimeo.com/188271441",
+   "start": 0,
+   "end": 2907,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/188271441",
+   "spoken_copy": "Bob Champion / President, Champion Real Estate Company / Alex Kozakov / Senior VP CBRE, Capital Markets / Eddie Prosser / Thorofare Capital / Jim Dillavou / Principal, Paragon Commercial Group / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Sonnenblick Development",
+   "episode_id": 172014125,
+   "episode_title": "The new Sacramento Airport hotel -  RENTV's Sacramento State of the Market Conference - May, 2016",
+   "url": "https://vimeo.com/172014125",
+   "start": 0,
+   "end": 2122,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/172014125",
+   "spoken_copy": "RENTV / Keynote Presentation / Bob Sonnenblick Principal / Sonnenblick Development / Hyatt Hotel/Sacramento Airport",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Kennedy Wilson",
+   "episode_id": 172014042,
+   "episode_title": "Industrial Discussion at RENTV's Sacramento State of the Market Conference - May, 2016",
+   "url": "https://vimeo.com/172014042",
+   "start": 0,
+   "end": 2535,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/172014042",
+   "spoken_copy": "RENTV / R&D / Industrial Panel / KENNEDY WILSON / Coastal Partners, LLC / John Troughton / Kennedy Wilson / Brett Baumgarten",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Every Line of Visible Text",
+   "episode_id": 171347069,
+   "episode_title": "Industrial Panel at RENTV's Inland Empire State of The Market Conference - May, 2016",
+   "url": "https://vimeo.com/171347069",
+   "start": 0,
+   "end": 3096,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/171347069",
+   "spoken_copy": "EXIT / Every Line of Visible Text",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "the majesty of Half Dome",
+   "episode_id": 167990250,
+   "episode_title": "Presentation by Chris Martin about Wilshire Grand at RENTV's 4.14.16 Downtown LA State of the Market Conference",
+   "url": "https://vimeo.com/167990250",
+   "start": 0,
+   "end": 1424,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990250",
+   "spoken_copy": "the majesty of Half Dome",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Kennedy Wilson",
+   "episode_id": 167990238,
+   "episode_title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+   "url": "https://vimeo.com/167990238",
+   "start": 0,
+   "end": 2607,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990238",
+   "spoken_copy": "RETAIL PANEL / Kennedy Wilson / Avison Young / Brookfield / Lee Shapiro Kennedy Wilson / Demick Moore Avison Young / Rachael Zanatos Brookfield Property Partners / Hal Bastian HAL BASTIAN, INC",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Avison Young",
+   "episode_id": 167990238,
+   "episode_title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+   "url": "https://vimeo.com/167990238",
+   "start": 0,
+   "end": 2607,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990238",
+   "spoken_copy": "RETAIL PANEL / Kennedy Wilson / Avison Young / Brookfield / Lee Shapiro Kennedy Wilson / Demick Moore Avison Young / Rachael Zanatos Brookfield Property Partners / Hal Bastian HAL BASTIAN, INC",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Brookfield Property Partners",
+   "episode_id": 167990238,
+   "episode_title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+   "url": "https://vimeo.com/167990238",
+   "start": 0,
+   "end": 2607,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990238",
+   "spoken_copy": "RETAIL PANEL / Kennedy Wilson / Avison Young / Brookfield / Lee Shapiro Kennedy Wilson / Demick Moore Avison Young / Rachael Zanatos Brookfield Property Partners / Hal Bastian HAL BASTIAN, INC",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Lee Shapiro Kennedy Wilson",
+   "episode_id": 167990238,
+   "episode_title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+   "url": "https://vimeo.com/167990238",
+   "start": 0,
+   "end": 2607,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990238",
+   "spoken_copy": "RETAIL PANEL / Kennedy Wilson / Avison Young / Brookfield / Lee Shapiro Kennedy Wilson / Demick Moore Avison Young / Rachael Zanatos Brookfield Property Partners / Hal Bastian HAL BASTIAN, INC",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Demick Moore Avison Young",
+   "episode_id": 167990238,
+   "episode_title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+   "url": "https://vimeo.com/167990238",
+   "start": 0,
+   "end": 2607,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990238",
+   "spoken_copy": "RETAIL PANEL / Kennedy Wilson / Avison Young / Brookfield / Lee Shapiro Kennedy Wilson / Demick Moore Avison Young / Rachael Zanatos Brookfield Property Partners / Hal Bastian HAL BASTIAN, INC",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Rachael Zanatos Brookfield Property Partners",
+   "episode_id": 167990238,
+   "episode_title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+   "url": "https://vimeo.com/167990238",
+   "start": 0,
+   "end": 2607,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990238",
+   "spoken_copy": "RETAIL PANEL / Kennedy Wilson / Avison Young / Brookfield / Lee Shapiro Kennedy Wilson / Demick Moore Avison Young / Rachael Zanatos Brookfield Property Partners / Hal Bastian HAL BASTIAN, INC",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "HAL BASTIAN, INC",
+   "episode_id": 167990238,
+   "episode_title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+   "url": "https://vimeo.com/167990238",
+   "start": 0,
+   "end": 2607,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990238",
+   "spoken_copy": "RETAIL PANEL / Kennedy Wilson / Avison Young / Brookfield / Lee Shapiro Kennedy Wilson / Demick Moore Avison Young / Rachael Zanatos Brookfield Property Partners / Hal Bastian HAL BASTIAN, INC",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Brookfield",
+   "episode_id": 167990218,
+   "episode_title": "Office Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+   "url": "https://vimeo.com/167990218",
+   "start": 0,
+   "end": 2794,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990218",
+   "spoken_copy": "Brookfield",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "SOUTH PARK DISTRICT",
+   "episode_id": 167990176,
+   "episode_title": "Multifamily Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+   "url": "https://vimeo.com/167990176",
+   "start": 0,
+   "end": 2682,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990176",
+   "spoken_copy": "DOWNTOWN LA / SOUTH PARK DISTRICT",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Brookfield",
+   "episode_id": 167990145,
+   "episode_title": "Arts District Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+   "url": "https://vimeo.com/167990145",
+   "start": 0,
+   "end": 3231,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/167990145",
+   "spoken_copy": "Brookfield",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "CBRE",
+   "episode_id": 162712517,
+   "episode_title": "RENTV 2016 San Diego R&D Industrial Panel",
+   "url": "https://vimeo.com/162712517",
+   "start": 0,
+   "end": 3068,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/162712517",
+   "spoken_copy": "R&D / Industrial Panel / Kiddie Mathews / CBRE / CT Realty / Ward Malcomb / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Walker & Dunlop",
+   "episode_id": 162712456,
+   "episode_title": "RENTV 3.17.2016 San Diego State of the Market Conf Multifamily Panel",
+   "url": "https://vimeo.com/162712456",
+   "start": 0,
+   "end": 2856,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/162712456",
+   "spoken_copy": "EXIT / Multifamily Panel / Walker & Dunlop / NAI San Diego / ACI",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "NAI San Diego",
+   "episode_id": 162712456,
+   "episode_title": "RENTV 3.17.2016 San Diego State of the Market Conf Multifamily Panel",
+   "url": "https://vimeo.com/162712456",
+   "start": 0,
+   "end": 2856,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/162712456",
+   "spoken_copy": "EXIT / Multifamily Panel / Walker & Dunlop / NAI San Diego / ACI",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "San Jose",
+   "episode_id": 162574338,
+   "episode_title": "RENTV 2.24.2016 San Jose/Silicon Valley R&D Industrial Panel at State of the Market Conference",
+   "url": "https://vimeo.com/162574338",
+   "start": 0,
+   "end": 2195,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/162574338",
+   "spoken_copy": "San Jose",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "N/A",
+   "episode_id": 162574320,
+   "episode_title": "Multifamily Panel at RENTV's Feb 2016 San Jose/Silicon Valley State of the Market",
+   "url": "https://vimeo.com/162574320",
+   "start": 0,
+   "end": 2384,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/162574320",
+   "spoken_copy": "MONTHLY AVERAGE COMPARISON RATE ON 30 YEAR FIXED MORTGAGES",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Parker Properties",
+   "episode_id": 157877502,
+   "episode_title": "RENTV Jan 28 2016 OC Keynote Presentation",
+   "url": "https://vimeo.com/157877502",
+   "start": 0,
+   "end": 1191,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/157877502",
+   "spoken_copy": "Keynote Presentation / Russ Parker, Managing Member, Parker Properties",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "MAXTORO",
+   "episode_id": 157877500,
+   "episode_title": "RENTV Jan 28 2016 OC Industrial Panel",
+   "url": "https://vimeo.com/157877500",
+   "start": 0,
+   "end": 2649,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/157877500",
+   "spoken_copy": "Birch / MAXTORO",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Kimpton Hotels & Restaurants",
+   "episode_id": 157877482,
+   "episode_title": "RENTV Jan 28 2016 OC Hotel Market",
+   "url": "https://vimeo.com/157877482",
+   "start": 0,
+   "end": 1086,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/157877482",
+   "spoken_copy": "Kimpton Shorebreak Hotel\nHuntington Beach, California\n$58,400,000 ($171,663 per room)",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "One Santa Fe",
+   "episode_id": 149786738,
+   "episode_title": "RENTV One Sante Fe & Arts District 12.22.15",
+   "url": "https://vimeo.com/149786738",
+   "start": 0,
+   "end": 810,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/149786738",
+   "spoken_copy": "ONE SANTA FE / NOW LEASING / STUDIO & 1 BEDROOM APARTMENTS / 455.256.8917 / OSFLA.COM / RENTV / REAL ESTATE NEWS / TELEVISION / One Santa Fe & The Arts District",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Marriott",
+   "episode_id": 143827823,
+   "episode_title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 1",
+   "url": "https://vimeo.com/143827823",
+   "start": 0,
+   "end": 765,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/143827823",
+   "spoken_copy": "MONTHLY AVERAGE COMMITMENT RATE ON 30-YEAR FIXED MORTGAGES / Marriott",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Milestone Properties",
+   "episode_id": 142353259,
+   "episode_title": "RENTV OAKLAND MULTIFAM PANEL PART 5",
+   "url": "https://vimeo.com/142353259",
+   "start": 0,
+   "end": 765,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/142353259",
+   "spoken_copy": "Dan Lieberman / President, Milestone Properties / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "RECG",
+   "episode_id": 142351726,
+   "episode_title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 4",
+   "url": "https://vimeo.com/142351726",
+   "start": 0,
+   "end": 920,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/142351726",
+   "spoken_copy": "The 2015 / Oakland / State of the Market Conference / RENTV / RECG",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Pacific Investments",
+   "episode_id": 142350083,
+   "episode_title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 3",
+   "url": "https://vimeo.com/142350083",
+   "start": 0,
+   "end": 634,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/142350083",
+   "spoken_copy": "Sarosh Kumana / CEO, Pacific Investments / RENTV / MARRIOTT",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "NAI Northern California",
+   "episode_id": 142348827,
+   "episode_title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 2",
+   "url": "https://vimeo.com/142348827",
+   "start": 0,
+   "end": 628,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/142348827",
+   "spoken_copy": "Let's pretend we're the Smart Money for a second. / What are we doing right now? / Kent Mitchell (Moderator) / VP of NAI Northern California / $+$=$$$ / NAI Northern California / RENTV",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Marriott",
+   "episode_id": 142348532,
+   "episode_title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 1",
+   "url": "https://vimeo.com/142348532",
+   "start": 0,
+   "end": 782,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/142348532",
+   "spoken_copy": "The Market has we just don't / Marriott",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Marriott",
+   "episode_id": 142347515,
+   "episode_title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 4",
+   "url": "https://vimeo.com/142347515",
+   "start": 0,
+   "end": 748,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/142347515",
+   "spoken_copy": "THE MORE DISTANT FUTURE / THE GOOD / factom / Failing to build quick enough to attract large tech tenants. / Delaying driverless cars. / Marriott",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Marriott",
+   "episode_id": 142347291,
+   "episode_title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 3",
+   "url": "https://vimeo.com/142347291",
+   "start": 0,
+   "end": 623,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/142347291",
+   "spoken_copy": "OAKLAND / INCOME DISTRIBUTION / DOWNTOWN VS / OF OAKLAND / $0-$29,999 / $30,000-$49,999 / $50,000-$74,999 / $75,000-$99,999 / $100,000+ / Source: spic.org / MARRIOTT",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Marriott",
+   "episode_id": 142347178,
+   "episode_title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 2",
+   "url": "https://vimeo.com/142347178",
+   "start": 0,
+   "end": 526,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/142347178",
+   "spoken_copy": "The BAD: Continued volatility. It will take time to full heal Oakland's reputation for rioting and inconsistent housing policies. / California / San Jose / MARRIOTT / Oakland Marriott City Center",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Allen Matkins",
+   "episode_id": 135939853,
+   "episode_title": "Allen Matkins/UCLA Anderson Forecast California Commercial Real Estate Survey: California Market Booming Again",
+   "url": "https://vimeo.com/135939853",
+   "start": 0,
+   "end": 181,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/135939853",
+   "spoken_copy": "Allen Matkins / OFFICE RENTAL RATES PREDICTED TO INCREASE WITH TECH INDUSTRY DEMAND / AUGUST 2015",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Kilroy Realty Corporation",
+   "episode_id": 125349744,
+   "episode_title": "RENTV Columbia Square Hollywood CA April 2015",
+   "url": "https://vimeo.com/125349744",
+   "start": 0,
+   "end": 899,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/125349744",
+   "spoken_copy": "Columbia Square / Hollywood, CA / By Kilroy Realty Corporation",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Allen Matkins",
+   "episode_id": 117977696,
+   "episode_title": "Allen Matkins' \"It's a Perfect Storm for California Commercial Real Estate Market\" - January 28, 2015",
+   "url": "https://vimeo.com/117977696",
+   "start": 0,
+   "end": 206,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/117977696",
+   "spoken_copy": "Allen Matkins / IT'S A PERFECT STORM FOR CALIFORNIA COMMERCIAL REAL ESTATE MARKET / JANUARY 2015",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Playa Vista Developments",
+   "episode_id": 109994315,
+   "episode_title": "The Developments at Playa Vista as of October 2014",
+   "url": "https://vimeo.com/109994315",
+   "start": 0,
+   "end": 983,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/109994315",
+   "spoken_copy": "Playa Vista Developments / PLAYA VISTA",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Allen Matkins",
+   "episode_id": 107762220,
+   "episode_title": "Allen Matkins View from the Top Overview - September 2014",
+   "url": "https://vimeo.com/107762220",
+   "start": 0,
+   "end": 190,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/107762220",
+   "spoken_copy": "Allen Matkins / VIEW FROM THE TOP 2014: / OVERVIEW / SEPTEMBER 2014",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Q Bar",
+   "episode_id": 107204372,
+   "episode_title": "Office Space at Runway Commercial V2",
+   "url": "https://vimeo.com/107204372",
+   "start": 0,
+   "end": 59,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/107204372",
+   "spoken_copy": "Q BAR",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Allen Matkins",
+   "episode_id": 101654810,
+   "episode_title": "California's Tech Boom Drives New Demand For Office - from Allen Matkins",
+   "url": "https://vimeo.com/101654810",
+   "start": 0,
+   "end": 122,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/101654810",
+   "spoken_copy": "Allen Matkins / CALIFORNIA'S TECH BOOM DRIVES NEW DEMAND FOR OFFICE SPACE / JULY 24, 2014",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Unknown",
+   "episode_id": 95064851,
+   "episode_title": "Major Recent San Diego Office Sales 5.14",
+   "url": "https://vimeo.com/95064851",
+   "start": 0,
+   "end": 528,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/95064851",
+   "spoken_copy": "Major Recent Office Sales In San Diego",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Revisits",
+   "episode_id": 90807750,
+   "episode_title": "RENTV Revisits Two San Fernando Valley Apartment Developments",
+   "url": "https://vimeo.com/90807750",
+   "start": 0,
+   "end": 526,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/90807750",
+   "spoken_copy": "RENTV / Revisits / San Fernando Valley / Apartment Developments",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Wilshire Grand Center",
+   "episode_id": 85237519,
+   "episode_title": "Wilshire Grand Development, Los Angeles -- 2014",
+   "url": "https://vimeo.com/85237519",
+   "start": 0,
+   "end": 441,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/85237519",
+   "spoken_copy": "The Wilshire Grand Project / Downtown Los Angeles",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Wilshire Grand Center",
+   "episode_id": 82824854,
+   "episode_title": "The Wilshire Grand project in Downtown Los Angeles",
+   "url": "https://vimeo.com/82824854",
+   "start": 0,
+   "end": 480,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/82824854",
+   "spoken_copy": "The Wilshire Grand Project / Downtown Los Angeles",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "520 Newport Center Drive",
+   "episode_id": 77077219,
+   "episode_title": "RENTV News Program - The New Newport Center high-rises",
+   "url": "https://vimeo.com/77077219",
+   "start": 0,
+   "end": 538,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/77077219",
+   "spoken_copy": "520 Newport Center Drive",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "225 South Grand",
+   "episode_id": 71974003,
+   "episode_title": "RENTV Focus on Multifamily - Related's 225 S. Grand Ave. LA",
+   "url": "https://vimeo.com/71974003",
+   "start": 0,
+   "end": 455,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/71974003",
+   "spoken_copy": "225 S. Grand Avenue",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Major",
+   "episode_id": 69208165,
+   "episode_title": "Major Inland Empire Apartment Sales",
+   "url": "https://vimeo.com/69208165",
+   "start": 0,
+   "end": 623,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/69208165",
+   "spoken_copy": "Major Inland Empire Apartment Sales",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Runway",
+   "episode_id": 65258106,
+   "episode_title": "The Runway at Playa Vista Development",
+   "url": "https://vimeo.com/65258106",
+   "start": 0,
+   "end": 607,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/65258106",
+   "spoken_copy": "Runway",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Wilshire La Brea",
+   "episode_id": 56573116,
+   "episode_title": "The Wilshire La Brea Project",
+   "url": "https://vimeo.com/56573116",
+   "start": 0,
+   "end": 401,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/56573116",
+   "spoken_copy": "Wilshire La Brea",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Shores",
+   "episode_id": 50591120,
+   "episode_title": "The $165 Million Shores Project in Marina del Rey",
+   "url": "https://vimeo.com/50591120",
+   "start": 0,
+   "end": 451,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/50591120",
+   "spoken_copy": "Shores",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Unknown",
+   "episode_id": 48347303,
+   "episode_title": "Wood Partners' LA Projects",
+   "url": "https://vimeo.com/48347303",
+   "start": 0,
+   "end": 473,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/48347303",
+   "spoken_copy": "New Project: 22-stories\n290 units",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "The Vermont",
+   "episode_id": 46769758,
+   "episode_title": "J.H. Snyder's The Vermont",
+   "url": "https://vimeo.com/46769758",
+   "start": 0,
+   "end": 525,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/46769758",
+   "spoken_copy": "The Vermont",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "The Village at Santa Monica",
+   "episode_id": 44468806,
+   "episode_title": "RENTV Takes You To The Village at Santa Monica June 2012",
+   "url": "https://vimeo.com/44468806",
+   "start": 0,
+   "end": 493,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/44468806",
+   "spoken_copy": "The Village at Santa Monica",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Brockman Lofts",
+   "episode_id": 42140576,
+   "episode_title": "The Purchase of the Historic Brockman Lofts Building",
+   "url": "https://vimeo.com/42140576",
+   "start": 0,
+   "end": 408,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/42140576",
+   "spoken_copy": "The Brockman Lofts",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "RealShare 2012",
+   "episode_id": 39610422,
+   "episode_title": "RENTV's Roving Reporter at RealShare 2012",
+   "url": "https://vimeo.com/39610422",
+   "start": 0,
+   "end": 393,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/39610422",
+   "spoken_copy": "RealShare 2012 / March 22, 2012",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "NoHo 14",
+   "episode_id": 38894517,
+   "episode_title": "Major Multifamily Sales Activity in NoHo and Glendale",
+   "url": "https://vimeo.com/38894517",
+   "start": 0,
+   "end": 572,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/38894517",
+   "spoken_copy": "NoHo 14",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "No identifiable advertiser",
+   "episode_id": 35868287,
+   "episode_title": "The Development and Sale of West 27th Place",
+   "url": "https://vimeo.com/35868287",
+   "start": 0,
+   "end": 433,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/35868287",
+   "spoken_copy": "West 27th Place / 530 W. 27th Street",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Linear City",
+   "episode_id": 33583429,
+   "episode_title": "The Purchase and Plans for 1111 Sunset Boulevard",
+   "url": "https://vimeo.com/33583429",
+   "start": 0,
+   "end": 422,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/33583429",
+   "spoken_copy": "Buyer Linear City",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Unknown",
+   "episode_id": 32191299,
+   "episode_title": "Major Multifamily Sales in Central Orange County 11.11",
+   "url": "https://vimeo.com/32191299",
+   "start": 0,
+   "end": 478,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/32191299",
+   "spoken_copy": "Price: $31 Million / $160k per Unit",
+   "source": "vimeo_promo"
+  },
+  {
+   "advertiser": "Sabre Redis Group",
+   "episode_id": 31239971,
+   "episode_title": "The LandMarc Apartments by SARES*REGIS",
+   "url": "https://vimeo.com/31239971",
+   "start": 0,
+   "end": 334,
+   "timecode": "0:00",
+   "deeplink": "https://vimeo.com/31239971",
+   "spoken_copy": "WOODLAND HILLS APARTMENTS / SABRE REDIS GROUP / CONCEPTUAL LANDSCAPE PLAN",
+   "source": "vimeo_promo"
   }
  ]
 }
\ No newline at end of file
diff --git a/data/advertisers.json b/data/advertisers.json
index 5ce5b93..607c709 100644
--- a/data/advertisers.json
+++ b/data/advertisers.json
@@ -1,6 +1,6 @@
 {
- "generated_at": "2026-08-07 11:18:19",
- "count": 30,
+ "generated_at": "2026-08-07 13:58:38",
+ "count": 92,
  "advertisers": [
   {
    "name": "Commercial Real Estate Inspectors",
@@ -28,112 +28,99 @@
     "Tiffany Simmington"
    ],
    "pitch": "Skilled inspectors providing critically needed inspection information in easily understood terms, as well as inexpensive, simple solutions for commercial real estate.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 17,
    "episodes": [
     {
      "id": 1138312637,
      "title": "CRE Talk Episode #19 - Chris Tourtellotte",
-     "url": "https://vimeo.com/1138312637",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1138312637"
     },
     {
      "id": 1115700624,
      "title": "CRE Talk  Episode #18 Terry Tallen",
-     "url": "https://vimeo.com/1115700624",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1115700624"
     },
     {
      "id": 1106281388,
      "title": "RENTV CRE Talk Episode #17 Chris Rising",
-     "url": "https://vimeo.com/1106281388",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1106281388"
     },
     {
      "id": 1079649123,
      "title": "RENTV CRE Talk Episode #16 - Alex Zikakis",
-     "url": "https://vimeo.com/1079649123",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1079649123"
     },
     {
      "id": 1059913595,
      "title": "RENTV CRE Talk Episode #15 - Marc Brutten",
-     "url": "https://vimeo.com/1059913595",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1059913595"
     },
     {
      "id": 1056513923,
      "title": "RENTV CRE Talk Episode #14 - John McNellis",
-     "url": "https://vimeo.com/1056513923",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1056513923"
     },
     {
      "id": 1012976399,
      "title": "RENTV CRE Talk Episode #12 - Kaitlin Arduino",
-     "url": "https://vimeo.com/1012976399",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1012976399"
     },
     {
      "id": 931863337,
      "title": "RENTV CRE Talk Episode #10 Henry Manoucheri",
-     "url": "https://vimeo.com/931863337",
-     "source": "vimeo"
+     "url": "https://vimeo.com/931863337"
     },
     {
      "id": 911412212,
      "title": "RENTV CRE Talk Episode #9 Eddie Ring",
-     "url": "https://vimeo.com/911412212",
-     "source": "vimeo"
+     "url": "https://vimeo.com/911412212"
     },
     {
      "id": 906276616,
      "title": "RENTV CRE Talk Episode #8 Erwin Bucy",
-     "url": "https://vimeo.com/906276616",
-     "source": "vimeo"
+     "url": "https://vimeo.com/906276616"
     },
     {
      "id": 886025667,
      "title": "RENTV CRE Talk Episode #7 Chuck Hershson",
-     "url": "https://vimeo.com/886025667",
-     "source": "vimeo"
+     "url": "https://vimeo.com/886025667"
     },
     {
      "id": 868849453,
      "title": "RENTV CRE Talk Episode #6 Barry Saywitz",
-     "url": "https://vimeo.com/868849453",
-     "source": "vimeo"
+     "url": "https://vimeo.com/868849453"
     },
     {
      "id": 852462696,
      "title": "RENTV CRE Talk Episode #5 Barry DiRaimondo",
-     "url": "https://vimeo.com/852462696",
-     "source": "vimeo"
+     "url": "https://vimeo.com/852462696"
     },
     {
      "id": 831673533,
      "title": "RENTV CRE Talk Episode #4 John McNellis",
-     "url": "https://vimeo.com/831673533",
-     "source": "vimeo"
+     "url": "https://vimeo.com/831673533"
     },
     {
      "id": 812981342,
      "title": "RENTV CRE Talk Episode #3 - Michael Van Every",
-     "url": "https://vimeo.com/812981342",
-     "source": "vimeo"
+     "url": "https://vimeo.com/812981342"
     },
     {
      "id": 795355693,
      "title": "RENTV CRE Talk Episode #2 - Sandy Sigal",
-     "url": "https://vimeo.com/795355693",
-     "source": "vimeo"
+     "url": "https://vimeo.com/795355693"
     },
     {
      "id": 771348410,
      "title": "RENTV CRE Talk Episode #1 - Bill Shopoff",
-     "url": "https://vimeo.com/771348410",
-     "source": "vimeo"
+     "url": "https://vimeo.com/771348410"
     }
    ],
-   "has_podcast": false
+   "review_verified": true,
+   "review_appearances": 13,
+   "review_official_name": "Commercial Real Estate Inspectors"
   },
   {
    "name": "Fidelity Mortgage Lenders",
@@ -153,106 +140,94 @@
     "Uncle Chuck, SA is known or John McLean"
    ],
    "pitch": "A private lending company specializing in commercial real estate, known for its unique terms, fast funding, no prepayment penalties, and long-term fixed rate.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 16,
    "episodes": [
     {
      "id": 1200839794,
      "title": "CRE Talk Episode #22 with Bill Shopoff",
-     "url": "https://vimeo.com/1200839794",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1200839794"
     },
     {
      "id": 1199114985,
      "title": "CRE Talk Episode #21 with Daniel Weiss",
-     "url": "https://vimeo.com/1199114985",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1199114985"
     },
     {
      "id": 1178561985,
      "title": "CRE Talk Episode #20 with Colton Sudberry",
-     "url": "https://vimeo.com/1178561985",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1178561985"
     },
     {
      "id": 1138312637,
      "title": "CRE Talk Episode #19 - Chris Tourtellotte",
-     "url": "https://vimeo.com/1138312637",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1138312637"
     },
     {
      "id": 1115700624,
      "title": "CRE Talk  Episode #18 Terry Tallen",
-     "url": "https://vimeo.com/1115700624",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1115700624"
     },
     {
      "id": 1106281388,
      "title": "RENTV CRE Talk Episode #17 Chris Rising",
-     "url": "https://vimeo.com/1106281388",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1106281388"
     },
     {
      "id": 1079649123,
      "title": "RENTV CRE Talk Episode #16 - Alex Zikakis",
-     "url": "https://vimeo.com/1079649123",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1079649123"
     },
     {
      "id": 1059913595,
      "title": "RENTV CRE Talk Episode #15 - Marc Brutten",
-     "url": "https://vimeo.com/1059913595",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1059913595"
     },
     {
      "id": 1056513923,
      "title": "RENTV CRE Talk Episode #14 - John McNellis",
-     "url": "https://vimeo.com/1056513923",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1056513923"
     },
     {
      "id": 1012976399,
      "title": "RENTV CRE Talk Episode #12 - Kaitlin Arduino",
-     "url": "https://vimeo.com/1012976399",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1012976399"
     },
     {
      "id": 931863337,
      "title": "RENTV CRE Talk Episode #10 Henry Manoucheri",
-     "url": "https://vimeo.com/931863337",
-     "source": "vimeo"
+     "url": "https://vimeo.com/931863337"
     },
     {
      "id": 911412212,
      "title": "RENTV CRE Talk Episode #9 Eddie Ring",
-     "url": "https://vimeo.com/911412212",
-     "source": "vimeo"
+     "url": "https://vimeo.com/911412212"
     },
     {
      "id": 906276616,
      "title": "RENTV CRE Talk Episode #8 Erwin Bucy",
-     "url": "https://vimeo.com/906276616",
-     "source": "vimeo"
+     "url": "https://vimeo.com/906276616"
     },
     {
      "id": 886025667,
      "title": "RENTV CRE Talk Episode #7 Chuck Hershson",
-     "url": "https://vimeo.com/886025667",
-     "source": "vimeo"
+     "url": "https://vimeo.com/886025667"
     },
     {
      "id": 862593366,
      "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
-     "url": "https://vimeo.com/862593366",
-     "source": "vimeo"
+     "url": "https://vimeo.com/862593366"
     },
     {
      "id": 763447786,
      "title": "RENTV FINANCE OCT 19 2022.mp4",
-     "url": "https://vimeo.com/763447786",
-     "source": "vimeo"
+     "url": "https://vimeo.com/763447786"
     }
    ],
-   "has_podcast": false
+   "review_verified": true,
+   "review_appearances": 13,
+   "review_official_name": "Fidelity Mortgage Lenders"
   },
   {
    "name": "Paramount Property Tax Appeal",
@@ -278,75 +253,69 @@
     "West Nichols"
    ],
    "pitch": "Helping you fight back against property taxes, even if you have great income, you can still qualify to have your property taxes lowered.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 10,
    "episodes": [
     {
      "id": 1012976399,
      "title": "RENTV CRE Talk Episode #12 - Kaitlin Arduino",
-     "url": "https://vimeo.com/1012976399",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1012976399"
     },
     {
      "id": 931863337,
      "title": "RENTV CRE Talk Episode #10 Henry Manoucheri",
-     "url": "https://vimeo.com/931863337",
-     "source": "vimeo"
+     "url": "https://vimeo.com/931863337"
     },
     {
      "id": 911412212,
      "title": "RENTV CRE Talk Episode #9 Eddie Ring",
-     "url": "https://vimeo.com/911412212",
-     "source": "vimeo"
+     "url": "https://vimeo.com/911412212"
     },
     {
      "id": 906276616,
      "title": "RENTV CRE Talk Episode #8 Erwin Bucy",
-     "url": "https://vimeo.com/906276616",
-     "source": "vimeo"
+     "url": "https://vimeo.com/906276616"
     },
     {
      "id": 868849453,
      "title": "RENTV CRE Talk Episode #6 Barry Saywitz",
-     "url": "https://vimeo.com/868849453",
-     "source": "vimeo"
+     "url": "https://vimeo.com/868849453"
     },
     {
      "id": 852462696,
      "title": "RENTV CRE Talk Episode #5 Barry DiRaimondo",
-     "url": "https://vimeo.com/852462696",
-     "source": "vimeo"
+     "url": "https://vimeo.com/852462696"
     },
     {
      "id": 831673533,
      "title": "RENTV CRE Talk Episode #4 John McNellis",
-     "url": "https://vimeo.com/831673533",
-     "source": "vimeo"
+     "url": "https://vimeo.com/831673533"
     },
     {
      "id": 812981342,
      "title": "RENTV CRE Talk Episode #3 - Michael Van Every",
-     "url": "https://vimeo.com/812981342",
-     "source": "vimeo"
+     "url": "https://vimeo.com/812981342"
     },
     {
      "id": 795355693,
      "title": "RENTV CRE Talk Episode #2 - Sandy Sigal",
-     "url": "https://vimeo.com/795355693",
-     "source": "vimeo"
+     "url": "https://vimeo.com/795355693"
     },
     {
      "id": 771348410,
      "title": "RENTV CRE Talk Episode #1 - Bill Shopoff",
-     "url": "https://vimeo.com/771348410",
-     "source": "vimeo"
+     "url": "https://vimeo.com/771348410"
     }
    ],
-   "has_podcast": false
+   "review_verified": true,
+   "review_appearances": 9,
+   "review_official_name": "Paramount Property Tax Appeal"
   },
   {
    "name": "Chase Partners",
    "aliases": [],
-   "category": "other",
+   "category": "developer|investor",
    "websites": [
     "chasepartners.com"
    ],
@@ -363,64 +332,59 @@
     "David Parker, head of Chase"
    ],
    "pitch": "Leading investor and developer of industrial properties in Southern California, focusing on underperforming industrial and retail properties, other distressed assets, or properties with non-performing debt.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 9,
    "episodes": [
     {
      "id": 1200839794,
      "title": "CRE Talk Episode #22 with Bill Shopoff",
-     "url": "https://vimeo.com/1200839794",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1200839794"
     },
     {
      "id": 1199114985,
      "title": "CRE Talk Episode #21 with Daniel Weiss",
-     "url": "https://vimeo.com/1199114985",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1199114985"
     },
     {
      "id": 1178561985,
      "title": "CRE Talk Episode #20 with Colton Sudberry",
-     "url": "https://vimeo.com/1178561985",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1178561985"
     },
     {
      "id": 1138312637,
      "title": "CRE Talk Episode #19 - Chris Tourtellotte",
-     "url": "https://vimeo.com/1138312637",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1138312637"
     },
     {
      "id": 1115700624,
      "title": "CRE Talk  Episode #18 Terry Tallen",
-     "url": "https://vimeo.com/1115700624",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1115700624"
     },
     {
      "id": 1106281388,
      "title": "RENTV CRE Talk Episode #17 Chris Rising",
-     "url": "https://vimeo.com/1106281388",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1106281388"
     },
     {
      "id": 1079649123,
      "title": "RENTV CRE Talk Episode #16 - Alex Zikakis",
-     "url": "https://vimeo.com/1079649123",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1079649123"
     },
     {
      "id": 1059913595,
      "title": "RENTV CRE Talk Episode #15 - Marc Brutten",
-     "url": "https://vimeo.com/1059913595",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1059913595"
     },
     {
      "id": 1056513923,
      "title": "RENTV CRE Talk Episode #14 - John McNellis",
-     "url": "https://vimeo.com/1056513923",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1056513923"
     }
    ],
-   "has_podcast": false
+   "review_verified": true,
+   "review_appearances": 7,
+   "review_official_name": "Chase Partners"
   },
   {
    "name": "Redwood Mortgage",
@@ -438,165 +402,169 @@
     "Steve Belleville"
    ],
    "pitch": "A direct private money lender with over 44 years of experience in commercial and residential investment properties, ranging from $200,000 to $10 million.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 9,
    "episodes": [
     {
      "id": 868849453,
      "title": "RENTV CRE Talk Episode #6 Barry Saywitz",
-     "url": "https://vimeo.com/868849453",
-     "source": "vimeo"
+     "url": "https://vimeo.com/868849453"
     },
     {
      "id": 852462696,
      "title": "RENTV CRE Talk Episode #5 Barry DiRaimondo",
-     "url": "https://vimeo.com/852462696",
-     "source": "vimeo"
+     "url": "https://vimeo.com/852462696"
     },
     {
      "id": 831673533,
      "title": "RENTV CRE Talk Episode #4 John McNellis",
-     "url": "https://vimeo.com/831673533",
-     "source": "vimeo"
+     "url": "https://vimeo.com/831673533"
     },
     {
      "id": 812981342,
      "title": "RENTV CRE Talk Episode #3 - Michael Van Every",
-     "url": "https://vimeo.com/812981342",
-     "source": "vimeo"
+     "url": "https://vimeo.com/812981342"
     },
     {
      "id": 795355693,
      "title": "RENTV CRE Talk Episode #2 - Sandy Sigal",
-     "url": "https://vimeo.com/795355693",
-     "source": "vimeo"
+     "url": "https://vimeo.com/795355693"
     },
     {
      "id": 771348410,
      "title": "RENTV CRE Talk Episode #1 - Bill Shopoff",
-     "url": "https://vimeo.com/771348410",
-     "source": "vimeo"
+     "url": "https://vimeo.com/771348410"
     },
     {
      "id": "902952601",
      "title": "Ep. 11 RENTV's Weekly CRE News & Views with Steve Bloom;  10-01-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-11-rentvs-weekly-cre-news-views-with-steve-bloom-10-01-2020",
-     "source": "soundcloud"
+     "url": "https://soundcloud.com/rentvnews/ep-11-rentvs-weekly-cre-news-views-with-steve-bloom-10-01-2020"
     },
     {
      "id": "881852191",
      "title": "Ep. 10 RENTV's Weekly CRE News & Views with Steve Bloom;  08-25-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-10-rentvs-weekly-cre-news-views-with-steve-bloom-08-25-2020",
-     "source": "soundcloud"
+     "url": "https://soundcloud.com/rentvnews/ep-10-rentvs-weekly-cre-news-views-with-steve-bloom-08-25-2020"
     },
     {
      "id": "873500326",
      "title": "Ep. 9 RENTV's Weekly CRE News & Views with Steve Bloom;  08-10-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-9-rentvs-weekly-cre-news-views-with-steve-bloom-08-10-2020",
-     "source": "soundcloud"
+     "url": "https://soundcloud.com/rentvnews/ep-9-rentvs-weekly-cre-news-views-with-steve-bloom-08-10-2020"
     }
    ],
-   "has_podcast": true,
-   "adclips": [
+   "review_verified": true,
+   "review_appearances": 3,
+   "review_official_name": "Redwood Mortgage"
+  },
+  {
+   "name": "Marriott",
+   "aliases": [],
+   "category": "other",
+   "websites": [
+    "spic.org"
+   ],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Marriott likely sponsors the commercial real estate video to promote their involvement in income distribution or related services.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 5,
+   "episodes": [
+    {
+     "id": 142347178,
+     "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 2",
+     "url": "https://vimeo.com/142347178"
+    },
+    {
+     "id": 142347291,
+     "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 3",
+     "url": "https://vimeo.com/142347291"
+    },
     {
-     "episode_id": "902952601",
-     "episode_title": "Ep. 11 RENTV's Weekly CRE News & Views with Steve Bloom;  10-01-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-11-rentvs-weekly-cre-news-views-with-steve-bloom-10-01-2020",
-     "start": 1177.18,
-     "end": 1211.26,
-     "duration": 34.08,
-     "text": "Redwood Mortgage. Redwood Mortgage is a direct portfolio over 42 years, Redwood Mortgage call Redwood Mortgage at 800 659 6593 or redwoodmortgage.com.",
-     "file": "data/soundcloud/adclips/902952601-redwood-mortgage.mp3"
+     "id": 142347515,
+     "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 4",
+     "url": "https://vimeo.com/142347515"
     },
     {
-     "episode_id": "881852191",
-     "episode_title": "Ep. 10 RENTV's Weekly CRE News & Views with Steve Bloom;  08-25-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-10-rentvs-weekly-cre-news-views-with-steve-bloom-08-25-2020",
-     "start": 1697.3,
-     "end": 1736.34,
-     "duration": 39.04,
-     "text": "Now let me tell you about another sponsor of the show, Redwood Mortgage. Redwood Mortgage is a direct portfolio lender providing loans on commercial office, industrial, In business for over 42 years, Redwood Mortgage is established, trusted and well capitalized. A good place to go when the banks say no, call Redwood Mortgage at 800-659-6593 or redwoodmortgage.com.",
-     "file": "data/soundcloud/adclips/881852191-redwood-mortgage.mp3"
+     "id": 142348532,
+     "title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 1",
+     "url": "https://vimeo.com/142348532"
     },
     {
-     "episode_id": "873500326",
-     "episode_title": "Ep. 9 RENTV's Weekly CRE News & Views with Steve Bloom;  08-10-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-9-rentvs-weekly-cre-news-views-with-steve-bloom-08-10-2020",
-     "start": 1281.58,
-     "end": 1319.02,
-     "duration": 37.44,
-     "text": "Now let me tell you about another sponsor of the show, Redwood Mortgage. Redwood Mortgage is a direct portfolio lender providing loans on commercial office, industrial, In business for over 42 years, Redwood Mortgage is established, trusted and well capitalized. A good place to go when the banks say no, call Redwood Mortgage at 800-659-6593 or redwoodmortgage.com.",
-     "file": "data/soundcloud/adclips/873500326-redwood-mortgage.mp3"
+     "id": 143827823,
+     "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 1",
+     "url": "https://vimeo.com/143827823"
     }
-   ]
+   ],
+   "review_verified": false
   },
   {
-   "name": "Capitol Rivers Commercial",
-   "aliases": [
-    "Capital Rivers Commercial",
-    "Capitol River's commercial"
-   ],
-   "category": "other",
-   "websites": [
-    "capitolrivers.com"
-   ],
+   "name": "Allen Matkins",
+   "aliases": [],
+   "category": "law firm",
+   "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "Not explicitly stated in the transcript, but likely a lender or developer.",
-   "appearances": 3,
+   "pitch": "Provides legal services related to the commercial real estate market in California.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 4,
    "episodes": [
     {
-     "id": "881852191",
-     "title": "Ep. 10 RENTV's Weekly CRE News & Views with Steve Bloom;  08-25-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-10-rentvs-weekly-cre-news-views-with-steve-bloom-08-25-2020",
-     "source": "soundcloud"
+     "id": 101654810,
+     "title": "California's Tech Boom Drives New Demand For Office - from Allen Matkins",
+     "url": "https://vimeo.com/101654810"
     },
     {
-     "id": "873500326",
-     "title": "Ep. 9 RENTV's Weekly CRE News & Views with Steve Bloom;  08-10-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-9-rentvs-weekly-cre-news-views-with-steve-bloom-08-10-2020",
-     "source": "soundcloud"
+     "id": 107762220,
+     "title": "Allen Matkins View from the Top Overview - September 2014",
+     "url": "https://vimeo.com/107762220"
     },
     {
-     "id": "902952601",
-     "title": "Ep. 11 RENTV's Weekly CRE News & Views with Steve Bloom;  10-01-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-11-rentvs-weekly-cre-news-views-with-steve-bloom-10-01-2020",
-     "source": "soundcloud"
+     "id": 117977696,
+     "title": "Allen Matkins' \"It's a Perfect Storm for California Commercial Real Estate Market\" - January 28, 2015",
+     "url": "https://vimeo.com/117977696"
+    },
+    {
+     "id": 135939853,
+     "title": "Allen Matkins/UCLA Anderson Forecast California Commercial Real Estate Survey: California Market Booming Again",
+     "url": "https://vimeo.com/135939853"
     }
    ],
-   "has_podcast": true,
-   "adclips": [
+   "review_verified": false
+  },
+  {
+   "name": "CBRE",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A real estate investment sales division covering Orange County and bordering markets, focusing on 10 to 100 unit transactions.",
+   "source": "mixed",
+   "promo_only": false,
+   "appearances": 3,
+   "episodes": [
     {
-     "episode_id": "881852191",
-     "episode_title": "Ep. 10 RENTV's Weekly CRE News & Views with Steve Bloom;  08-25-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-10-rentvs-weekly-cre-news-views-with-steve-bloom-08-25-2020",
-     "start": 1484.8,
-     "end": 1547.56,
-     "duration": 62.76,
-     "text": "And now we have a message from a sponsor of our show, Capital Rivers Commercial, led by If that's you, then you need to be well aware of Proposition 15 and the team at Capital Rivers Commercial can tell you all about it. you'll want to talk to an expert like Greg and his team of experts at Capital Rivers. CapitalRivers.com. Work with the best, work with Capital Rivers.",
-     "file": "data/soundcloud/adclips/881852191-capitol-rivers-commercial.mp3"
+     "id": 739081927,
+     "title": "RENTV ORANGE COUNTY MULTIFAMILY PANEL July 26, 2022",
+     "url": "https://vimeo.com/739081927"
     },
     {
-     "episode_id": "873500326",
-     "episode_title": "Ep. 9 RENTV's Weekly CRE News & Views with Steve Bloom;  08-10-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-9-rentvs-weekly-cre-news-views-with-steve-bloom-08-10-2020",
-     "start": 1062.32,
-     "end": 1090.22,
-     "duration": 27.9,
-     "text": "Unsure what to do, he contacted Capitol Rivers for advice. To reach Capitol Rivers, visit their website at capitolrivers.com. Work with the best, work with Capitol Rivers.",
-     "file": "data/soundcloud/adclips/873500326-capitol-rivers-commercial.mp3"
+     "id": 162712517,
+     "title": "RENTV 2016 San Diego R&D Industrial Panel",
+     "url": "https://vimeo.com/162712517"
     },
     {
-     "episode_id": "902952601",
-     "episode_title": "Ep. 11 RENTV's Weekly CRE News & Views with Steve Bloom;  10-01-2020",
-     "url": "https://soundcloud.com/rentvnews/ep-11-rentvs-weekly-cre-news-views-with-steve-bloom-10-01-2020",
-     "start": 851.18,
-     "end": 878.46,
-     "duration": 27.28,
-     "text": "of our show, Capitol Rivers commercial led by of Proposition 15 and the team at Capitol Rivers commercial can tell you all about it. For",
-     "file": "data/soundcloud/adclips/902952601-capitol-rivers-commercial.mp3"
+     "id": 188271441,
+     "title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+     "url": "https://vimeo.com/188271441"
     }
-   ]
+   ],
+   "review_verified": false
   },
   {
    "name": "Provident Savings Bank",
@@ -615,28 +583,29 @@
     "Gina Conant, Vice President and Sales Manager of Commercial Real Estate Lending"
    ],
    "pitch": "A California-focused portfolio lender with a legacy dating back to 1956, providing financing for properties ranging from light industrial to multifamily.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 3,
    "episodes": [
     {
      "id": 1200839794,
      "title": "CRE Talk Episode #22 with Bill Shopoff",
-     "url": "https://vimeo.com/1200839794",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1200839794"
     },
     {
      "id": 1199114985,
      "title": "CRE Talk Episode #21 with Daniel Weiss",
-     "url": "https://vimeo.com/1199114985",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1199114985"
     },
     {
      "id": 1178561985,
      "title": "CRE Talk Episode #20 with Colton Sudberry",
-     "url": "https://vimeo.com/1178561985",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1178561985"
     }
    ],
-   "has_podcast": false
+   "review_verified": true,
+   "review_appearances": 3,
+   "review_official_name": "Provident Savings Bank"
   },
   {
    "name": "Rockefeller Group",
@@ -649,464 +618,1785 @@
    "emails": [],
    "contacts": [],
    "pitch": "Delivers exceptional experiences and value creation through dedication to quality in the built environment, developing, owning, and operating properties.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 3,
    "episodes": [
     {
      "id": 1200839794,
      "title": "CRE Talk Episode #22 with Bill Shopoff",
-     "url": "https://vimeo.com/1200839794",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1200839794"
     },
     {
      "id": 1199114985,
      "title": "CRE Talk Episode #21 with Daniel Weiss",
-     "url": "https://vimeo.com/1199114985",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1199114985"
     },
     {
      "id": 1178561985,
      "title": "CRE Talk Episode #20 with Colton Sudberry",
-     "url": "https://vimeo.com/1178561985",
-     "source": "vimeo"
+     "url": "https://vimeo.com/1178561985"
     }
    ],
-   "has_podcast": false
+   "review_verified": true,
+   "review_appearances": 3,
+   "review_official_name": "Rockefeller Group"
   },
   {
    "name": "The Bascom Group",
-   "aliases": [],
+   "aliases": [
+    "The Bascom Group, LLC"
+   ],
    "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
    "pitch": "A developer focusing on multi-family properties in Orange County and nationwide, with a history of value-add acquisitions and recent foray into development.",
-   "appearances": 2,
+   "source": "mixed",
+   "promo_only": false,
+   "appearances": 3,
    "episodes": [
     {
      "id": 865035925,
      "title": "The Multifamily Panel at RENTV's Greater LA State of the Market Conference",
-     "url": "https://vimeo.com/865035925",
-     "source": "vimeo"
+     "url": "https://vimeo.com/865035925"
     },
     {
      "id": 739081927,
      "title": "RENTV ORANGE COUNTY MULTIFAMILY PANEL July 26, 2022",
-     "url": "https://vimeo.com/739081927",
-     "source": "vimeo"
+     "url": "https://vimeo.com/739081927"
+    },
+    {
+     "id": 157877501,
+     "title": "RENTV Jan 28 2016 OC MultiFamily Panel",
+     "url": "https://vimeo.com/157877501"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Advanced Real Estate Services",
+   "name": "Unknown",
    "aliases": [],
-   "category": "broker",
+   "category": "other",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "Buying apartments in Southern California with a portfolio of over 10,000 units.",
-   "appearances": 1,
+   "pitch": "Promotes a new real estate project with 22 stories and 290 units, but the specific advertiser is not identifiable.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 3,
    "episodes": [
     {
-     "id": 865035925,
-     "title": "The Multifamily Panel at RENTV's Greater LA State of the Market Conference",
-     "url": "https://vimeo.com/865035925",
-     "source": "vimeo"
+     "id": 32191299,
+     "title": "Major Multifamily Sales in Central Orange County 11.11",
+     "url": "https://vimeo.com/32191299"
+    },
+    {
+     "id": 48347303,
+     "title": "Wood Partners' LA Projects",
+     "url": "https://vimeo.com/48347303"
+    },
+    {
+     "id": 95064851,
+     "title": "Major Recent San Diego Office Sales 5.14",
+     "url": "https://vimeo.com/95064851"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Advanced Real Estate The Firm",
+   "name": "Brookfield",
    "aliases": [],
-   "category": "other",
+   "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "A vertically integrated property management and development firm in Southern California, specializing in long-term hold strategies.",
-   "appearances": 1,
+   "pitch": "Develops and manages commercial real estate properties.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 2,
    "episodes": [
     {
-     "id": 739081927,
-     "title": "RENTV ORANGE COUNTY MULTIFAMILY PANEL July 26, 2022",
-     "url": "https://vimeo.com/739081927",
-     "source": "vimeo"
+     "id": 167990145,
+     "title": "Arts District Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+     "url": "https://vimeo.com/167990145"
+    },
+    {
+     "id": 167990218,
+     "title": "Office Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+     "url": "https://vimeo.com/167990218"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Axo Bank",
+   "name": "Brookfield Property Partners",
    "aliases": [],
-   "category": "lender",
+   "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "Axo Bank is a neobank with no physical branch network, offering real estate financing including bridge and permanent loans.",
-   "appearances": 1,
+   "pitch": "A global real estate investment trust providing leasing services for office properties.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 2,
    "episodes": [
     {
-     "id": 862593366,
-     "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
-     "url": "https://vimeo.com/862593366",
-     "source": "vimeo"
+     "id": 167990238,
+     "title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+     "url": "https://vimeo.com/167990238"
+    },
+    {
+     "id": 227224358,
+     "title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+     "url": "https://vimeo.com/227224358"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Axos Bank",
-   "aliases": [],
-   "category": "lender",
-   "websites": [],
+   "name": "Capitol Rivers Commercial",
+   "aliases": [
+    "Capitol River's commercial"
+   ],
+   "category": "lender|developer|broker|law firm|insurance|title|architecture|property mgmt|events|other",
+   "websites": [
+    "capitolrivers.com"
+   ],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "A lender offering financial services.",
-   "appearances": 1,
+   "pitch": "Not explicitly stated in the transcript, but likely a lender or developer.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 2,
    "episodes": [
     {
-     "id": 763447786,
-     "title": "RENTV FINANCE OCT 19 2022.mp4",
-     "url": "https://vimeo.com/763447786",
-     "source": "vimeo"
+     "id": "881852191",
+     "title": "Ep. 10 RENTV's Weekly CRE News & Views with Steve Bloom;  08-25-2020",
+     "url": "https://soundcloud.com/rentvnews/ep-10-rentvs-weekly-cre-news-views-with-steve-bloom-08-25-2020"
+    },
+    {
+     "id": "873500326",
+     "title": "Ep. 9 RENTV's Weekly CRE News & Views with Steve Bloom;  08-10-2020",
+     "url": "https://soundcloud.com/rentvnews/ep-9-rentvs-weekly-cre-news-views-with-steve-bloom-08-10-2020"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "CBRE",
+   "name": "Kennedy Wilson",
    "aliases": [],
-   "category": "broker",
+   "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "A real estate investment sales division covering Orange County and bordering markets, focusing on 10 to 100 unit transactions.",
-   "appearances": 1,
+   "pitch": "Develops and manages commercial real estate properties.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 2,
    "episodes": [
     {
-     "id": 739081927,
-     "title": "RENTV ORANGE COUNTY MULTIFAMILY PANEL July 26, 2022",
-     "url": "https://vimeo.com/739081927",
-     "source": "vimeo"
+     "id": 167990238,
+     "title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+     "url": "https://vimeo.com/167990238"
+    },
+    {
+     "id": 172014042,
+     "title": "Industrial Discussion at RENTV's Sacramento State of the Market Conference - May, 2016",
+     "url": "https://vimeo.com/172014042"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "CBRE's National Retail Partners West Team",
+   "name": "Paragon Commercial Group",
    "aliases": [],
-   "category": "broker",
+   "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [
-    "John Reed"
+    "Todd Huber"
    ],
-   "pitch": "Specializing in retail investment properties throughout the Inland Empire, California since 2012.",
-   "appearances": 1,
+   "pitch": "Do value add retail, really in the grocery anchored space, and also some of your single tenant deals.",
+   "source": "mixed",
+   "promo_only": false,
+   "appearances": 2,
    "episodes": [
     {
      "id": 830276773,
      "title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
-     "url": "https://vimeo.com/830276773",
-     "source": "vimeo"
+     "url": "https://vimeo.com/830276773"
+    },
+    {
+     "id": 188271441,
+     "title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+     "url": "https://vimeo.com/188271441"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "City of Ontario",
+   "name": "Wilshire Grand Center",
    "aliases": [],
-   "category": "other",
+   "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
-   "contacts": [
-    "Jennifer McClain Harimoto"
-   ],
-   "pitch": "Economic development director for the city, highlighting development opportunities and reinvesting sales tax revenue into capital improvement projects.",
-   "appearances": 1,
+   "contacts": [],
+   "pitch": "Develops the Wilshire Grand Project in Downtown Los Angeles.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 2,
    "episodes": [
     {
-     "id": 830276773,
-     "title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
-     "url": "https://vimeo.com/830276773",
-     "source": "vimeo"
+     "id": 82824854,
+     "title": "The Wilshire Grand project in Downtown Los Angeles",
+     "url": "https://vimeo.com/82824854"
+    },
+    {
+     "id": 85237519,
+     "title": "Wilshire Grand Development, Los Angeles -- 2014",
+     "url": "https://vimeo.com/85237519"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "First",
+   "name": "225 South Grand",
    "aliases": [],
-   "category": "lender",
+   "category": "property mgmt",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "Not explicitly stated, but likely a lender offering financial services.",
+   "pitch": "Manages commercial properties in downtown Los Angeles.",
+   "source": "poster_ocr",
+   "promo_only": true,
    "appearances": 1,
    "episodes": [
     {
-     "id": 1039101858,
-     "title": "RENTV CRE Talk Episode #13 - Ethan Penner",
-     "url": "https://vimeo.com/1039101858",
-     "source": "vimeo"
+     "id": 71974003,
+     "title": "RENTV Focus on Multifamily - Related's 225 S. Grand Ave. LA",
+     "url": "https://vimeo.com/71974003"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Jones Lang LaSalle (JLL)",
+   "name": "520 Newport Center Drive",
    "aliases": [],
    "category": "other",
    "websites": [],
    "phones": [],
    "emails": [],
-   "contacts": [
-    "Mark McAdams"
-   ],
-   "pitch": "one of the larger national brokerage companies, pioneer of the Inland Empire market",
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
    "appearances": 1,
    "episodes": [
     {
-     "id": 830279080,
-     "title": "The Office Panel at RENTV's Inland Empire State of The Market Conference",
-     "url": "https://vimeo.com/830279080",
-     "source": "vimeo"
+     "id": 77077219,
+     "title": "RENTV News Program - The New Newport Center high-rises",
+     "url": "https://vimeo.com/77077219"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "MG R Real Estate",
+   "name": "Advanced Real Estate Services",
    "aliases": [],
    "category": "broker",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "primarily office brokers, owning about 1.8 million feet of office space in the L and Empire area",
+   "pitch": "Buying apartments in Southern California with a portfolio of over 10,000 units.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 1,
    "episodes": [
     {
-     "id": 830279080,
-     "title": "The Office Panel at RENTV's Inland Empire State of The Market Conference",
-     "url": "https://vimeo.com/830279080",
-     "source": "vimeo"
+     "id": 865035925,
+     "title": "The Multifamily Panel at RENTV's Greater LA State of the Market Conference",
+     "url": "https://vimeo.com/865035925"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "MGR Real Estate Services",
+   "name": "Advanced Real Estate The Firm",
    "aliases": [],
-   "category": "other",
+   "category": "property mgmt|developer",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "Family-owned brokerage firm with residential and commercial properties, managing 17,000 doors and employing over 200 people.",
+   "pitch": "A vertically integrated property management and development firm in Southern California, specializing in long-term hold strategies.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 1,
    "episodes": [
     {
-     "id": 953281926,
-     "title": "RENTV CRE Talk Episode #11 - Michael Rademaker",
-     "url": "https://vimeo.com/953281926",
-     "source": "vimeo"
+     "id": 739081927,
+     "title": "RENTV ORANGE COUNTY MULTIFAMILY PANEL July 26, 2022",
+     "url": "https://vimeo.com/739081927"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Ms. Rahi TE Bank",
+   "name": "Avison Young",
    "aliases": [],
-   "category": "lender",
+   "category": "broker",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "Ms. Rahi TE Bank is a U.S.-based lending arm of an Israeli bank, focusing on bridge and value-add loans for apartment construction.",
+   "pitch": "Provides commercial real estate services including brokerage and advisory.",
+   "source": "poster_ocr",
+   "promo_only": true,
    "appearances": 1,
    "episodes": [
     {
-     "id": 862593366,
-     "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
-     "url": "https://vimeo.com/862593366",
-     "source": "vimeo"
+     "id": 167990238,
+     "title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+     "url": "https://vimeo.com/167990238"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Newmark Merrill Companies",
+   "name": "Axo Bank",
    "aliases": [],
-   "category": "other",
+   "category": "lender",
    "websites": [],
    "phones": [],
    "emails": [],
-   "contacts": [
-    "Greg Gia Capozzi"
-   ],
-   "pitch": "Community focused, community first developer and real estate owner for retail properties across Southern California.",
+   "contacts": [],
+   "pitch": "Axo Bank is a neobank with no physical branch network, offering real estate financing including bridge and permanent loans.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 1,
    "episodes": [
     {
-     "id": 830276773,
-     "title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
-     "url": "https://vimeo.com/830276773",
-     "source": "vimeo"
+     "id": 862593366,
+     "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
+     "url": "https://vimeo.com/862593366"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Pacific Southwest Realty Services",
+   "name": "Axos Bank",
    "aliases": [],
-   "category": "broker",
+   "category": "lender",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "Pacific Southwest Realty Services specializes in correspondent relationships with life insurance companies, brokering mortgage services to credit unions and banks.",
+   "pitch": "A lender offering financial services.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 1,
    "episodes": [
     {
-     "id": 862593366,
-     "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
-     "url": "https://vimeo.com/862593366",
-     "source": "vimeo"
+     "id": 763447786,
+     "title": "RENTV FINANCE OCT 19 2022.mp4",
+     "url": "https://vimeo.com/763447786"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Paragon Commercial Group",
+   "name": "Birtcher Development LLC",
    "aliases": [],
    "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
-   "contacts": [
-    "Todd Huber"
-   ],
-   "pitch": "Do value add retail, really in the grocery anchored space, and also some of your single tenant deals.",
+   "contacts": [],
+   "pitch": "Develops real estate projects with a focus on unconventional approaches.",
+   "source": "poster_ocr",
+   "promo_only": true,
    "appearances": 1,
    "episodes": [
     {
-     "id": 830276773,
-     "title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
-     "url": "https://vimeo.com/830276773",
-     "source": "vimeo"
+     "id": 242491490,
+     "title": "Brandon Birtcher, CEO of Birtcher Development, LLC, Keynote Address at RENTV's South Bay/Long Beach Conference 10.18.17",
+     "url": "https://vimeo.com/242491490"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Provident Bank",
+   "name": "Brockman Lofts",
    "aliases": [],
-   "category": "lender",
+   "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "Provident Bank is a portfolio lender focusing on multifamily properties, with loan sizes ranging from $350,000 to 6 million.",
+   "pitch": "Develops loft-style residential properties.",
+   "source": "poster_ocr",
+   "promo_only": true,
    "appearances": 1,
    "episodes": [
     {
-     "id": 862593366,
-     "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
-     "url": "https://vimeo.com/862593366",
-     "source": "vimeo"
+     "id": 42140576,
+     "title": "The Purchase of the Historic Brockman Lofts Building",
+     "url": "https://vimeo.com/42140576"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "rent TV",
+   "name": "Capital Rivers Commercial",
    "aliases": [],
    "category": "other",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "A 23-year-old media company that provides a platform for video producers to create and share videos related to commercial real estate, improving searchability and traffic.",
+   "pitch": "",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 1,
    "episodes": [
     {
-     "id": 721184140,
-     "title": "CLIC Vlog w Steve Bloom.mov",
-     "url": "https://vimeo.com/721184140",
-     "source": "vimeo"
+     "id": "902952601",
+     "title": "Ep. 11 RENTV's Weekly CRE News & Views with Steve Bloom;  10-01-2020",
+     "url": "https://soundcloud.com/rentvnews/ep-11-rentvs-weekly-cre-news-views-with-steve-bloom-10-01-2020"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Say What's Properties",
+   "name": "CBRE's National Retail Partners West Team",
    "aliases": [],
-   "category": "other",
+   "category": "broker",
    "websites": [],
    "phones": [],
    "emails": [],
-   "contacts": [],
-   "pitch": "A commercial real estate brokerage company representing tenants, users, and buyers of office, industrial, and multi-family properties in Southern California.",
+   "contacts": [
+    "John Reed"
+   ],
+   "pitch": "Specializing in retail investment properties throughout the Inland Empire, California since 2012.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 1,
    "episodes": [
     {
-     "id": 739081927,
-     "title": "RENTV ORANGE COUNTY MULTIFAMILY PANEL July 26, 2022",
-     "url": "https://vimeo.com/739081927",
-     "source": "vimeo"
+     "id": 830276773,
+     "title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
+     "url": "https://vimeo.com/830276773"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Torrey Pines Bank",
+   "name": "Champion Real Estate Company",
    "aliases": [],
-   "category": "lender",
+   "category": "developer",
    "websites": [],
    "phones": [],
    "emails": [],
    "contacts": [],
-   "pitch": "A lender providing banking solutions for various needs.",
+   "pitch": "President of Champion Real Estate Company discusses real estate development.",
+   "source": "poster_ocr",
+   "promo_only": true,
    "appearances": 1,
    "episodes": [
     {
-     "id": 763447786,
-     "title": "RENTV FINANCE OCT 19 2022.mp4",
-     "url": "https://vimeo.com/763447786",
-     "source": "vimeo"
+     "id": 188271441,
+     "title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+     "url": "https://vimeo.com/188271441"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
-   "name": "Universe Holdings",
+   "name": "City of Ontario",
    "aliases": [],
-   "category": "other",
+   "category": "government entity",
    "websites": [],
    "phones": [],
    "emails": [],
-   "contacts": [],
-   "pitch": "Real estate investment company based in Southern California with offices in New York and Miami, focusing on multifamily properties.",
-   "appearances": 1,
-   "episodes": [
+   "contacts": [
+    "Jennifer McClain Harimoto"
+   ],
+   "pitch": "Economic development director for the city, highlighting development opportunities and reinvesting sales tax revenue into capital improvement projects.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 830276773,
+     "title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
+     "url": "https://vimeo.com/830276773"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Cushman & Wakefield",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A global real estate services firm focusing on office solutions.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 227224358,
+     "title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+     "url": "https://vimeo.com/227224358"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Demick Moore Avison Young",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Provides commercial real estate services including brokerage and advisory.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 167990238,
+     "title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+     "url": "https://vimeo.com/167990238"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Every Line of Visible Text",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 171347069,
+     "title": "Industrial Panel at RENTV's Inland Empire State of The Market Conference - May, 2016",
+     "url": "https://vimeo.com/171347069"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "F&F Income Properties, LLC",
+   "aliases": [],
+   "category": "broker",
+   "websites": [
+    "fandfinc.com"
+   ],
+   "phones": [
+    "858) 342-8462"
+   ],
+   "emails": [
+    "Dan@FandFInc.com"
+   ],
+   "contacts": [],
+   "pitch": "A real estate brokerage focused on income properties.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 493420423,
+     "title": "F & F Income Properties - Your San Diego Family Mutifamily Owner",
+     "url": "https://vimeo.com/493420423"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "FEBRUARY 22, 2017",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 208460446,
+     "title": "Industrial Panel at RENTV's San Jose/SIlicon Valley State of the Market Conference - Feb 2017",
+     "url": "https://vimeo.com/208460446"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "First",
+   "aliases": [],
+   "category": "lender",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Not explicitly stated, but likely a lender offering financial services.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 1039101858,
+     "title": "RENTV CRE Talk Episode #13 - Ethan Penner",
+     "url": "https://vimeo.com/1039101858"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Gantry",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A commercial real estate brokerage offering leasing and sales services.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 503234116,
+     "title": "GANTRY Video_VO",
+     "url": "https://vimeo.com/503234116"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Greenland USA",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Develops commercial real estate projects.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 227217030,
+     "title": "Metropolis Los Angeles, Presentation by Ryan Aubry. Director of Development, Greenland USA",
+     "url": "https://vimeo.com/227217030"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "HAL BASTIAN, INC",
+   "aliases": [],
+   "category": "property mgmt",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Manages commercial properties and provides related services.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 167990238,
+     "title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+     "url": "https://vimeo.com/167990238"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Jones Lang LaSalle (JLL)",
+   "aliases": [],
+   "category": "lender|developer|broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [
+    "Mark McAdams"
+   ],
+   "pitch": "one of the larger national brokerage companies, pioneer of the Inland Empire market",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 830279080,
+     "title": "The Office Panel at RENTV's Inland Empire State of The Market Conference",
+     "url": "https://vimeo.com/830279080"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Kilroy",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A commercial real estate brokerage.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 315327378,
+     "title": "Kilroy Realty's Oyster Point - An Aerial Introduction",
+     "url": "https://vimeo.com/315327378"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Kilroy Realty Corporation",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Develops Columbia Square in Hollywood, CA.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 125349744,
+     "title": "RENTV Columbia Square Hollywood CA April 2015",
+     "url": "https://vimeo.com/125349744"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Kimpton Hotels & Restaurants",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A hotel property located in Huntington Beach, California, valued at $58,400,000 with a room rate equivalent of $171,663.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 157877482,
+     "title": "RENTV Jan 28 2016 OC Hotel Market",
+     "url": "https://vimeo.com/157877482"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Lee Shapiro Kennedy Wilson",
+   "aliases": [],
+   "category": "broker|developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Offers commercial real estate brokerage and development services.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 167990238,
+     "title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+     "url": "https://vimeo.com/167990238"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Lincoln Property Company",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A leading commercial real estate developer and owner of premier properties.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 227224358,
+     "title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+     "url": "https://vimeo.com/227224358"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Linear City",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Develops properties in the linear city area",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 33583429,
+     "title": "The Purchase and Plans for 1111 Sunset Boulevard",
+     "url": "https://vimeo.com/33583429"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Major",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Sells apartment properties in the Inland Empire.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 69208165,
+     "title": "Major Inland Empire Apartment Sales",
+     "url": "https://vimeo.com/69208165"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "MAXTORO",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 157877500,
+     "title": "RENTV Jan 28 2016 OC Industrial Panel",
+     "url": "https://vimeo.com/157877500"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "MG R Real Estate",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "primarily office brokers, owning about 1.8 million feet of office space in the L and Empire area",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 830279080,
+     "title": "The Office Panel at RENTV's Inland Empire State of The Market Conference",
+     "url": "https://vimeo.com/830279080"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "MGR Real Estate Services",
+   "aliases": [],
+   "category": "brokerage|property management",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Family-owned brokerage firm with residential and commercial properties, managing 17,000 doors and employing over 200 people.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 953281926,
+     "title": "RENTV CRE Talk Episode #11 - Michael Rademaker",
+     "url": "https://vimeo.com/953281926"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Milestone Properties",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Serves as president of a real estate brokerage company.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 142353259,
+     "title": "RENTV OAKLAND MULTIFAM PANEL PART 5",
+     "url": "https://vimeo.com/142353259"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Ms. Rahi TE Bank",
+   "aliases": [],
+   "category": "lender",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Ms. Rahi TE Bank is a U.S.-based lending arm of an Israeli bank, focusing on bridge and value-add loans for apartment construction.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 862593366,
+     "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
+     "url": "https://vimeo.com/862593366"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "N/A",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Provides information on mortgage comparison rates.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 162574320,
+     "title": "Multifamily Panel at RENTV's Feb 2016 San Jose/Silicon Valley State of the Market",
+     "url": "https://vimeo.com/162574320"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "NAI Northern California",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "NAI Northern California is a real estate brokerage serving the Northern California market.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 142348827,
+     "title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 2",
+     "url": "https://vimeo.com/142348827"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "NAI San Diego",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Offers commercial real estate services including leasing, sales, and management.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 162712456,
+     "title": "RENTV 3.17.2016 San Diego State of the Market Conf Multifamily Panel",
+     "url": "https://vimeo.com/162712456"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Newmark Merrill Companies",
+   "aliases": [],
+   "category": "developer|property manager",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [
+    "Greg Gia Capozzi"
+   ],
+   "pitch": "Community focused, community first developer and real estate owner for retail properties across Southern California.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 830276773,
+     "title": "The Retail Panel at RENTV's Inland Empire State of The Market Conference",
+     "url": "https://vimeo.com/830276773"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "No identifiable advertiser",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Addresses shown without any company branding or information.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 35868287,
+     "title": "The Development and Sale of West 27th Place",
+     "url": "https://vimeo.com/35868287"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "NoHo 14",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 38894517,
+     "title": "Major Multifamily Sales Activity in NoHo and Glendale",
+     "url": "https://vimeo.com/38894517"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Not Identifiable",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "The on-screen text does not clearly identify an advertiser.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 429079440,
+     "title": "CapitalRiversCovidFinal",
+     "url": "https://vimeo.com/429079440"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "One Santa Fe",
+   "aliases": [],
+   "category": "developer",
+   "websites": [
+    "osfla.com"
+   ],
+   "phones": [
+    "455.256.8917"
+   ],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Develops studio and 1 bedroom apartments in the Arts District.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 149786738,
+     "title": "RENTV One Sante Fe & Arts District 12.22.15",
+     "url": "https://vimeo.com/149786738"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Pacific Investments",
+   "aliases": [],
+   "category": "lender",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Sarosh Kumana, CEO of Pacific Investments, is featured.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 142350083,
+     "title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 3",
+     "url": "https://vimeo.com/142350083"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Pacific Southwest Realty Services",
+   "aliases": [],
+   "category": "broker",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Pacific Southwest Realty Services specializes in correspondent relationships with life insurance companies, brokering mortgage services to credit unions and banks.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 862593366,
+     "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
+     "url": "https://vimeo.com/862593366"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Parker Properties",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Develops commercial real estate projects.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 157877502,
+     "title": "RENTV Jan 28 2016 OC Keynote Presentation",
+     "url": "https://vimeo.com/157877502"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Playa Vista Developments",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Develops real estate projects in Playa Vista.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 109994315,
+     "title": "The Developments at Playa Vista as of October 2014",
+     "url": "https://vimeo.com/109994315"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Provident Bank",
+   "aliases": [],
+   "category": "lender",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Provident Bank is a portfolio lender focusing on multifamily properties, with loan sizes ranging from $350,000 to 6 million.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 862593366,
+     "title": "The Finance Panel at RENTV's Greater LA State of the Market Conference",
+     "url": "https://vimeo.com/862593366"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Q Bar",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Q Bar, likely a venue or brand associated with the commercial real estate industry.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 107204372,
+     "title": "Office Space at Runway Commercial V2",
+     "url": "https://vimeo.com/107204372"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Rachael Zanatos Brookfield Property Partners",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Represents Brookfield Property Partners in commercial real estate activities.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 167990238,
+     "title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+     "url": "https://vimeo.com/167990238"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "RealShare 2012",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 39610422,
+     "title": "RENTV's Roving Reporter at RealShare 2012",
+     "url": "https://vimeo.com/39610422"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "RECG",
+   "aliases": [],
+   "category": "events",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Hosts the 2015 Oakland State of the Market Conference.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 142351726,
+     "title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 4",
+     "url": "https://vimeo.com/142351726"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "rent TV",
+   "aliases": [],
+   "category": "media company",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A 23-year-old media company that provides a platform for video producers to create and share videos related to commercial real estate, improving searchability and traffic.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 721184140,
+     "title": "CLIC Vlog w Steve Bloom.mov",
+     "url": "https://vimeo.com/721184140"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Revisits",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 90807750,
+     "title": "RENTV Revisits Two San Fernando Valley Apartment Developments",
+     "url": "https://vimeo.com/90807750"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Rising Realty Partners",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A boutique real estate development and management company.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 227224358,
+     "title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+     "url": "https://vimeo.com/227224358"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Runway",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 65258106,
+     "title": "The Runway at Playa Vista Development",
+     "url": "https://vimeo.com/65258106"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Sabre Redis Group",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Developer of Woodland Hills Apartments with a conceptual landscape plan.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 31239971,
+     "title": "The LandMarc Apartments by SARES*REGIS",
+     "url": "https://vimeo.com/31239971"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "San Jose",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 162574338,
+     "title": "RENTV 2.24.2016 San Jose/Silicon Valley R&D Industrial Panel at State of the Market Conference",
+     "url": "https://vimeo.com/162574338"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Say What's Properties",
+   "aliases": [],
+   "category": "broker|developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A commercial real estate brokerage company representing tenants, users, and buyers of office, industrial, and multi-family properties in Southern California.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 739081927,
+     "title": "RENTV ORANGE COUNTY MULTIFAMILY PANEL July 26, 2022",
+     "url": "https://vimeo.com/739081927"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Shores",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 50591120,
+     "title": "The $165 Million Shores Project in Marina del Rey",
+     "url": "https://vimeo.com/50591120"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Sonnenblick Development",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Develops properties, including the Hyatt Hotel at Sacramento Airport.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 172014125,
+     "title": "The new Sacramento Airport hotel -  RENTV's Sacramento State of the Market Conference - May, 2016",
+     "url": "https://vimeo.com/172014125"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "SOUTH PARK DISTRICT",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 167990176,
+     "title": "Multifamily Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+     "url": "https://vimeo.com/167990176"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "The Center at Needham Ranch",
+   "aliases": [],
+   "category": "property development",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Develops and manages commercial real estate properties.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 308597317,
+     "title": "Introducing The Center at Needham Ranch",
+     "url": "https://vimeo.com/308597317"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "the majesty of Half Dome",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 167990250,
+     "title": "Presentation by Chris Martin about Wilshire Grand at RENTV's 4.14.16 Downtown LA State of the Market Conference",
+     "url": "https://vimeo.com/167990250"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "The Vermont",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 46769758,
+     "title": "J.H. Snyder's The Vermont",
+     "url": "https://vimeo.com/46769758"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "The Village at Santa Monica",
+   "aliases": [],
+   "category": "property development",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A residential and commercial development in Santa Monica.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 44468806,
+     "title": "RENTV Takes You To The Village at Santa Monica June 2012",
+     "url": "https://vimeo.com/44468806"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Thorofare Capital",
+   "aliases": [],
+   "category": "lender",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Representative from Thorofare Capital discusses lending solutions for commercial real estate.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 188271441,
+     "title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+     "url": "https://vimeo.com/188271441"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Torrey Pines Bank",
+   "aliases": [],
+   "category": "lender",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A lender providing banking solutions for various needs.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 763447786,
+     "title": "RENTV FINANCE OCT 19 2022.mp4",
+     "url": "https://vimeo.com/763447786"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Trabuco Hills Center",
+   "aliases": [],
+   "category": "property",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "A property that was purchased for $15.2 million.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 232088787,
+     "title": "Introduction to Pacific Castle 1 Q 2005",
+     "url": "https://vimeo.com/232088787"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Universe Holdings",
+   "aliases": [],
+   "category": "developer|lender",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Real estate investment company based in Southern California with offices in New York and Miami, focusing on multifamily properties.",
+   "source": "transcript",
+   "promo_only": false,
+   "appearances": 1,
+   "episodes": [
     {
      "id": 865035925,
      "title": "The Multifamily Panel at RENTV's Greater LA State of the Market Conference",
-     "url": "https://vimeo.com/865035925",
-     "source": "vimeo"
+     "url": "https://vimeo.com/865035925"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Veritas Investments",
+   "aliases": [],
+   "category": "developer",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Veritas Investments focuses on multi-family demand for infill and existing properties.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 228295912,
+     "title": "Yat-Pang Au, Founder & CEO of Veritas Investments - Keynote Address at RENTV's DT San Francisco Conference 7/20/17",
+     "url": "https://vimeo.com/228295912"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Walker & Dunlop",
+   "aliases": [],
+   "category": "lender",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Provides financing solutions for commercial real estate.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 162712456,
+     "title": "RENTV 3.17.2016 San Diego State of the Market Conf Multifamily Panel",
+     "url": "https://vimeo.com/162712456"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   },
   {
    "name": "Walker and Dunlop",
@@ -1117,17 +2407,39 @@
    "emails": [],
    "contacts": [],
    "pitch": "A lender specializing in commercial real estate financing.",
+   "source": "transcript",
+   "promo_only": false,
    "appearances": 1,
    "episodes": [
     {
      "id": 763447786,
      "title": "RENTV FINANCE OCT 19 2022.mp4",
-     "url": "https://vimeo.com/763447786",
-     "source": "vimeo"
+     "url": "https://vimeo.com/763447786"
+    }
+   ],
+   "review_verified": false
+  },
+  {
+   "name": "Wilshire La Brea",
+   "aliases": [],
+   "category": "other",
+   "websites": [],
+   "phones": [],
+   "emails": [],
+   "contacts": [],
+   "pitch": "Real estate development and management in Los Angeles.",
+   "source": "poster_ocr",
+   "promo_only": true,
+   "appearances": 1,
+   "episodes": [
+    {
+     "id": 56573116,
+     "title": "The Wilshire La Brea Project",
+     "url": "https://vimeo.com/56573116"
     }
    ],
-   "has_podcast": false
+   "review_verified": false
   }
  ],
- "adclips_generated_at": "2026-08-07 11:18:21"
+ "reconciled_at": "2026-08-07 13:58:49"
 }
\ No newline at end of file
diff --git a/data/extractions/101654810.json b/data/extractions/101654810.json
new file mode 100644
index 0000000..bd0b5de
--- /dev/null
+++ b/data/extractions/101654810.json
@@ -0,0 +1,20 @@
+{
+ "id": 101654810,
+ "title": "California's Tech Boom Drives New Demand For Office - from Allen Matkins",
+ "url": "https://vimeo.com/101654810",
+ "duration": 122,
+ "advertisers": [
+  {
+   "name": "Allen Matkins",
+   "category": "law firm",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Specializes in real estate and business law, particularly in the tech industry."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/107204372.json b/data/extractions/107204372.json
new file mode 100644
index 0000000..1c75434
--- /dev/null
+++ b/data/extractions/107204372.json
@@ -0,0 +1,20 @@
+{
+ "id": 107204372,
+ "title": "Office Space at Runway Commercial V2",
+ "url": "https://vimeo.com/107204372",
+ "duration": 59,
+ "advertisers": [
+  {
+   "name": "Q Bar",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Q Bar, likely a venue or brand associated with the commercial real estate industry."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/107762220.json b/data/extractions/107762220.json
new file mode 100644
index 0000000..25789c9
--- /dev/null
+++ b/data/extractions/107762220.json
@@ -0,0 +1,20 @@
+{
+ "id": 107762220,
+ "title": "Allen Matkins View from the Top Overview - September 2014",
+ "url": "https://vimeo.com/107762220",
+ "duration": 190,
+ "advertisers": [
+  {
+   "name": "Allen Matkins",
+   "category": "law firm",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Provides legal services related to commercial real estate."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/1083190047.json b/data/extractions/1083190047.json
new file mode 100644
index 0000000..8523a05
--- /dev/null
+++ b/data/extractions/1083190047.json
@@ -0,0 +1,11 @@
+{
+ "id": 1083190047,
+ "title": "1000015099",
+ "url": "https://vimeo.com/1083190047",
+ "duration": 0,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/109994315.json b/data/extractions/109994315.json
new file mode 100644
index 0000000..21bc953
--- /dev/null
+++ b/data/extractions/109994315.json
@@ -0,0 +1,20 @@
+{
+ "id": 109994315,
+ "title": "The Developments at Playa Vista as of October 2014",
+ "url": "https://vimeo.com/109994315",
+ "duration": 983,
+ "advertisers": [
+  {
+   "name": "Playa Vista Developments",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops real estate projects in Playa Vista."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/1158999653.json b/data/extractions/1158999653.json
new file mode 100644
index 0000000..6b7c3d2
--- /dev/null
+++ b/data/extractions/1158999653.json
@@ -0,0 +1,11 @@
+{
+ "id": 1158999653,
+ "title": "Elevation Land OBP 012226 w.audio (1)",
+ "url": "https://vimeo.com/1158999653",
+ "duration": 105,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/117977696.json b/data/extractions/117977696.json
new file mode 100644
index 0000000..0f74c51
--- /dev/null
+++ b/data/extractions/117977696.json
@@ -0,0 +1,20 @@
+{
+ "id": 117977696,
+ "title": "Allen Matkins' \"It's a Perfect Storm for California Commercial Real Estate Market\" - January 28, 2015",
+ "url": "https://vimeo.com/117977696",
+ "duration": 206,
+ "advertisers": [
+  {
+   "name": "Allen Matkins",
+   "category": "law firm",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Provides legal services related to the commercial real estate market in California."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/125349744.json b/data/extractions/125349744.json
new file mode 100644
index 0000000..b66518d
--- /dev/null
+++ b/data/extractions/125349744.json
@@ -0,0 +1,20 @@
+{
+ "id": 125349744,
+ "title": "RENTV Columbia Square Hollywood CA April 2015",
+ "url": "https://vimeo.com/125349744",
+ "duration": 899,
+ "advertisers": [
+  {
+   "name": "Kilroy Realty Corporation",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops Columbia Square in Hollywood, CA."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/135939853.json b/data/extractions/135939853.json
new file mode 100644
index 0000000..b6752f0
--- /dev/null
+++ b/data/extractions/135939853.json
@@ -0,0 +1,20 @@
+{
+ "id": 135939853,
+ "title": "Allen Matkins/UCLA Anderson Forecast California Commercial Real Estate Survey: California Market Booming Again",
+ "url": "https://vimeo.com/135939853",
+ "duration": 181,
+ "advertisers": [
+  {
+   "name": "Allen Matkins",
+   "category": "law firm",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Provides legal services related to commercial real estate."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142347178.json b/data/extractions/142347178.json
new file mode 100644
index 0000000..221a3ae
--- /dev/null
+++ b/data/extractions/142347178.json
@@ -0,0 +1,20 @@
+{
+ "id": 142347178,
+ "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 2",
+ "url": "https://vimeo.com/142347178",
+ "duration": 526,
+ "advertisers": [
+  {
+   "name": "Marriott",
+   "category": "hotel",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Provides hotel accommodations in Oakland, California."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142347291.json b/data/extractions/142347291.json
new file mode 100644
index 0000000..d05233f
--- /dev/null
+++ b/data/extractions/142347291.json
@@ -0,0 +1,22 @@
+{
+ "id": 142347291,
+ "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 3",
+ "url": "https://vimeo.com/142347291",
+ "duration": 623,
+ "advertisers": [
+  {
+   "name": "Marriott",
+   "category": "other",
+   "website": "spic.org",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Marriott likely sponsors the commercial real estate video to promote their involvement in income distribution or related services."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [
+  "spic.org"
+ ],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142347515.json b/data/extractions/142347515.json
new file mode 100644
index 0000000..23860f6
--- /dev/null
+++ b/data/extractions/142347515.json
@@ -0,0 +1,20 @@
+{
+ "id": 142347515,
+ "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 4",
+ "url": "https://vimeo.com/142347515",
+ "duration": 748,
+ "advertisers": [
+  {
+   "name": "Marriott",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142348009.json b/data/extractions/142348009.json
new file mode 100644
index 0000000..c16ec5f
--- /dev/null
+++ b/data/extractions/142348009.json
@@ -0,0 +1,11 @@
+{
+ "id": 142348009,
+ "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 5",
+ "url": "https://vimeo.com/142348009",
+ "duration": 543,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142348532.json b/data/extractions/142348532.json
new file mode 100644
index 0000000..3d91016
--- /dev/null
+++ b/data/extractions/142348532.json
@@ -0,0 +1,20 @@
+{
+ "id": 142348532,
+ "title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 1",
+ "url": "https://vimeo.com/142348532",
+ "duration": 782,
+ "advertisers": [
+  {
+   "name": "Marriott",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Marriott likely provides hospitality services or real estate solutions."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142348827.json b/data/extractions/142348827.json
new file mode 100644
index 0000000..aee69c8
--- /dev/null
+++ b/data/extractions/142348827.json
@@ -0,0 +1,20 @@
+{
+ "id": 142348827,
+ "title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 2",
+ "url": "https://vimeo.com/142348827",
+ "duration": 628,
+ "advertisers": [
+  {
+   "name": "NAI Northern California",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "NAI Northern California is a real estate brokerage serving the Northern California market."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142350083.json b/data/extractions/142350083.json
new file mode 100644
index 0000000..7b00390
--- /dev/null
+++ b/data/extractions/142350083.json
@@ -0,0 +1,20 @@
+{
+ "id": 142350083,
+ "title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 3",
+ "url": "https://vimeo.com/142350083",
+ "duration": 634,
+ "advertisers": [
+  {
+   "name": "Pacific Investments",
+   "category": "lender",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Sarosh Kumana, CEO of Pacific Investments, is featured."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142351726.json b/data/extractions/142351726.json
new file mode 100644
index 0000000..f3c23f8
--- /dev/null
+++ b/data/extractions/142351726.json
@@ -0,0 +1,20 @@
+{
+ "id": 142351726,
+ "title": "RENTV Oakland State of the Market Sept 2015 Multifamily Panel part 4",
+ "url": "https://vimeo.com/142351726",
+ "duration": 920,
+ "advertisers": [
+  {
+   "name": "RECG",
+   "category": "events",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Hosts the 2015 Oakland State of the Market Conference."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/142353259.json b/data/extractions/142353259.json
new file mode 100644
index 0000000..b369718
--- /dev/null
+++ b/data/extractions/142353259.json
@@ -0,0 +1,20 @@
+{
+ "id": 142353259,
+ "title": "RENTV OAKLAND MULTIFAM PANEL PART 5",
+ "url": "https://vimeo.com/142353259",
+ "duration": 765,
+ "advertisers": [
+  {
+   "name": "Milestone Properties",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Serves as president of a real estate brokerage company."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/143827823.json b/data/extractions/143827823.json
new file mode 100644
index 0000000..24f3c3a
--- /dev/null
+++ b/data/extractions/143827823.json
@@ -0,0 +1,20 @@
+{
+ "id": 143827823,
+ "title": "RENTV OAKLAND KEYNOTE KILPATRICK PART 1",
+ "url": "https://vimeo.com/143827823",
+ "duration": 765,
+ "advertisers": [
+  {
+   "name": "Marriott",
+   "category": "lender",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Offers mortgage services with a focus on 30-year fixed mortgages."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/144943180.json b/data/extractions/144943180.json
new file mode 100644
index 0000000..592afb8
--- /dev/null
+++ b/data/extractions/144943180.json
@@ -0,0 +1,11 @@
+{
+ "id": 144943180,
+ "title": "RENTV Oakland State of the Market Conference Retail Panel Sept 25 2015",
+ "url": "https://vimeo.com/144943180",
+ "duration": 3300,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/149786738.json b/data/extractions/149786738.json
new file mode 100644
index 0000000..a273caa
--- /dev/null
+++ b/data/extractions/149786738.json
@@ -0,0 +1,24 @@
+{
+ "id": 149786738,
+ "title": "RENTV One Sante Fe & Arts District 12.22.15",
+ "url": "https://vimeo.com/149786738",
+ "duration": 810,
+ "advertisers": [
+  {
+   "name": "One Santa Fe",
+   "category": "developer",
+   "website": "osfla.com",
+   "phone": "455.256.8917",
+   "contact_person": "",
+   "pitch": "Develops studio and 1 bedroom apartments in the Arts District."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [
+  "osfla.com"
+ ],
+ "regex_phones": [
+  "455.256.8917"
+ ],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/157877482.json b/data/extractions/157877482.json
new file mode 100644
index 0000000..7672a3f
--- /dev/null
+++ b/data/extractions/157877482.json
@@ -0,0 +1,20 @@
+{
+ "id": 157877482,
+ "title": "RENTV Jan 28 2016 OC Hotel Market",
+ "url": "https://vimeo.com/157877482",
+ "duration": 1086,
+ "advertisers": [
+  {
+   "name": "Kimpton Hotels & Restaurants",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A hotel property located in Huntington Beach, California, valued at $58,400,000 with a room rate equivalent of $171,663."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/157877500.json b/data/extractions/157877500.json
new file mode 100644
index 0000000..561c4d9
--- /dev/null
+++ b/data/extractions/157877500.json
@@ -0,0 +1,20 @@
+{
+ "id": 157877500,
+ "title": "RENTV Jan 28 2016 OC Industrial Panel",
+ "url": "https://vimeo.com/157877500",
+ "duration": 2649,
+ "advertisers": [
+  {
+   "name": "MAXTORO",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/157877501.json b/data/extractions/157877501.json
new file mode 100644
index 0000000..2e99003
--- /dev/null
+++ b/data/extractions/157877501.json
@@ -0,0 +1,20 @@
+{
+ "id": 157877501,
+ "title": "RENTV Jan 28 2016 OC MultiFamily Panel",
+ "url": "https://vimeo.com/157877501",
+ "duration": 3630,
+ "advertisers": [
+  {
+   "name": "The Bascom Group, LLC",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A managing partner from The Bascom Group, LLC is part of a multifamily panel."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/157877502.json b/data/extractions/157877502.json
new file mode 100644
index 0000000..cbacb01
--- /dev/null
+++ b/data/extractions/157877502.json
@@ -0,0 +1,20 @@
+{
+ "id": 157877502,
+ "title": "RENTV Jan 28 2016 OC Keynote Presentation",
+ "url": "https://vimeo.com/157877502",
+ "duration": 1191,
+ "advertisers": [
+  {
+   "name": "Parker Properties",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops commercial real estate projects."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/157877503.json b/data/extractions/157877503.json
new file mode 100644
index 0000000..2a9ef75
--- /dev/null
+++ b/data/extractions/157877503.json
@@ -0,0 +1,11 @@
+{
+ "id": 157877503,
+ "title": "RENTV Jan 28 2016 OC Office Panel",
+ "url": "https://vimeo.com/157877503",
+ "duration": 2940,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/157877504.json b/data/extractions/157877504.json
new file mode 100644
index 0000000..5113d4d
--- /dev/null
+++ b/data/extractions/157877504.json
@@ -0,0 +1,11 @@
+{
+ "id": 157877504,
+ "title": "RENTV Jan 28 2016 OC Retail Panel",
+ "url": "https://vimeo.com/157877504",
+ "duration": 2781,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162573796.json b/data/extractions/162573796.json
new file mode 100644
index 0000000..1a61cd3
--- /dev/null
+++ b/data/extractions/162573796.json
@@ -0,0 +1,11 @@
+{
+ "id": 162573796,
+ "title": "Mayor Sam Liccardo Keynote at RENTV San Jose/Silicon Valley Conference",
+ "url": "https://vimeo.com/162573796",
+ "duration": 2018,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162573927.json b/data/extractions/162573927.json
new file mode 100644
index 0000000..b310627
--- /dev/null
+++ b/data/extractions/162573927.json
@@ -0,0 +1,11 @@
+{
+ "id": 162573927,
+ "title": "RENTV's San Jose/Silicon Valley State of the Market Feb 2016 Office Panel",
+ "url": "https://vimeo.com/162573927",
+ "duration": 2991,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162574294.json b/data/extractions/162574294.json
new file mode 100644
index 0000000..eb0e0f6
--- /dev/null
+++ b/data/extractions/162574294.json
@@ -0,0 +1,11 @@
+{
+ "id": 162574294,
+ "title": "Capital Panel at RENTV's San Jose/Silicon Valley Feb 2016 State of the Market Conference",
+ "url": "https://vimeo.com/162574294",
+ "duration": 2597,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162574320.json b/data/extractions/162574320.json
new file mode 100644
index 0000000..879d4a9
--- /dev/null
+++ b/data/extractions/162574320.json
@@ -0,0 +1,20 @@
+{
+ "id": 162574320,
+ "title": "Multifamily Panel at RENTV's Feb 2016 San Jose/Silicon Valley State of the Market",
+ "url": "https://vimeo.com/162574320",
+ "duration": 2384,
+ "advertisers": [
+  {
+   "name": "N/A",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Provides information on mortgage comparison rates."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162574338.json b/data/extractions/162574338.json
new file mode 100644
index 0000000..08a9a2b
--- /dev/null
+++ b/data/extractions/162574338.json
@@ -0,0 +1,20 @@
+{
+ "id": 162574338,
+ "title": "RENTV 2.24.2016 San Jose/Silicon Valley R&D Industrial Panel at State of the Market Conference",
+ "url": "https://vimeo.com/162574338",
+ "duration": 2195,
+ "advertisers": [
+  {
+   "name": "San Jose",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162574358.json b/data/extractions/162574358.json
new file mode 100644
index 0000000..23ce3fd
--- /dev/null
+++ b/data/extractions/162574358.json
@@ -0,0 +1,11 @@
+{
+ "id": 162574358,
+ "title": "RENTV's San Jose/Silicon Valley State of the Market Feb 2016 Retail Panel",
+ "url": "https://vimeo.com/162574358",
+ "duration": 2784,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162712456.json b/data/extractions/162712456.json
new file mode 100644
index 0000000..9d30acb
--- /dev/null
+++ b/data/extractions/162712456.json
@@ -0,0 +1,28 @@
+{
+ "id": 162712456,
+ "title": "RENTV 3.17.2016 San Diego State of the Market Conf Multifamily Panel",
+ "url": "https://vimeo.com/162712456",
+ "duration": 2856,
+ "advertisers": [
+  {
+   "name": "Walker & Dunlop",
+   "category": "lender",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Provides financing solutions for commercial real estate."
+  },
+  {
+   "name": "NAI San Diego",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Offers commercial real estate services including leasing, sales, and management."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162712493.json b/data/extractions/162712493.json
new file mode 100644
index 0000000..3036b89
--- /dev/null
+++ b/data/extractions/162712493.json
@@ -0,0 +1,11 @@
+{
+ "id": 162712493,
+ "title": "RENTV 3.17.2016 San Diego State of the Market Conf Office Panel",
+ "url": "https://vimeo.com/162712493",
+ "duration": 3195,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/162712517.json b/data/extractions/162712517.json
new file mode 100644
index 0000000..121c711
--- /dev/null
+++ b/data/extractions/162712517.json
@@ -0,0 +1,20 @@
+{
+ "id": 162712517,
+ "title": "RENTV 2016 San Diego R&D Industrial Panel",
+ "url": "https://vimeo.com/162712517",
+ "duration": 3068,
+ "advertisers": [
+  {
+   "name": "CBRE",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A commercial real estate brokerage firm."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/167990145.json b/data/extractions/167990145.json
new file mode 100644
index 0000000..ab44bf6
--- /dev/null
+++ b/data/extractions/167990145.json
@@ -0,0 +1,20 @@
+{
+ "id": 167990145,
+ "title": "Arts District Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+ "url": "https://vimeo.com/167990145",
+ "duration": 3231,
+ "advertisers": [
+  {
+   "name": "Brookfield",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops and manages commercial real estate properties."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/167990176.json b/data/extractions/167990176.json
new file mode 100644
index 0000000..1537fdc
--- /dev/null
+++ b/data/extractions/167990176.json
@@ -0,0 +1,20 @@
+{
+ "id": 167990176,
+ "title": "Multifamily Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+ "url": "https://vimeo.com/167990176",
+ "duration": 2682,
+ "advertisers": [
+  {
+   "name": "SOUTH PARK DISTRICT",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/167990218.json b/data/extractions/167990218.json
new file mode 100644
index 0000000..250bea4
--- /dev/null
+++ b/data/extractions/167990218.json
@@ -0,0 +1,20 @@
+{
+ "id": 167990218,
+ "title": "Office Panel at RENTV's April 2016 Downtown Los Angeles State of the Market Conference",
+ "url": "https://vimeo.com/167990218",
+ "duration": 2794,
+ "advertisers": [
+  {
+   "name": "Brookfield",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops and manages commercial real estate properties."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/167990238.json b/data/extractions/167990238.json
new file mode 100644
index 0000000..c91747f
--- /dev/null
+++ b/data/extractions/167990238.json
@@ -0,0 +1,68 @@
+{
+ "id": 167990238,
+ "title": "Retail Panel at RENTV's April 2016 Downtown LA State of the Market Conference",
+ "url": "https://vimeo.com/167990238",
+ "duration": 2607,
+ "advertisers": [
+  {
+   "name": "Kennedy Wilson",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops and manages commercial real estate properties."
+  },
+  {
+   "name": "Avison Young",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Provides commercial real estate services including brokerage and advisory."
+  },
+  {
+   "name": "Brookfield Property Partners",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops, owns, and operates a portfolio of commercial real estate assets."
+  },
+  {
+   "name": "Lee Shapiro Kennedy Wilson",
+   "category": "broker|developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Offers commercial real estate brokerage and development services."
+  },
+  {
+   "name": "Demick Moore Avison Young",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Provides commercial real estate services including brokerage and advisory."
+  },
+  {
+   "name": "Rachael Zanatos Brookfield Property Partners",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Represents Brookfield Property Partners in commercial real estate activities."
+  },
+  {
+   "name": "HAL BASTIAN, INC",
+   "category": "property mgmt",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Manages commercial properties and provides related services."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/167990250.json b/data/extractions/167990250.json
new file mode 100644
index 0000000..7325216
--- /dev/null
+++ b/data/extractions/167990250.json
@@ -0,0 +1,20 @@
+{
+ "id": 167990250,
+ "title": "Presentation by Chris Martin about Wilshire Grand at RENTV's 4.14.16 Downtown LA State of the Market Conference",
+ "url": "https://vimeo.com/167990250",
+ "duration": 1424,
+ "advertisers": [
+  {
+   "name": "the majesty of Half Dome",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/167990282.json b/data/extractions/167990282.json
new file mode 100644
index 0000000..9aed48c
--- /dev/null
+++ b/data/extractions/167990282.json
@@ -0,0 +1,11 @@
+{
+ "id": 167990282,
+ "title": "Keynote Discussion by Carol Schatz, Pres & CEO of DCBID at RENTV's April 2016 Downtown LA State of the Market Conference",
+ "url": "https://vimeo.com/167990282",
+ "duration": 1768,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/171347069.json b/data/extractions/171347069.json
new file mode 100644
index 0000000..af11592
--- /dev/null
+++ b/data/extractions/171347069.json
@@ -0,0 +1,20 @@
+{
+ "id": 171347069,
+ "title": "Industrial Panel at RENTV's Inland Empire State of The Market Conference - May, 2016",
+ "url": "https://vimeo.com/171347069",
+ "duration": 3096,
+ "advertisers": [
+  {
+   "name": "Every Line of Visible Text",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/172014042.json b/data/extractions/172014042.json
new file mode 100644
index 0000000..8c4d112
--- /dev/null
+++ b/data/extractions/172014042.json
@@ -0,0 +1,20 @@
+{
+ "id": 172014042,
+ "title": "Industrial Discussion at RENTV's Sacramento State of the Market Conference - May, 2016",
+ "url": "https://vimeo.com/172014042",
+ "duration": 2535,
+ "advertisers": [
+  {
+   "name": "Kennedy Wilson",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops real estate properties."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/172014125.json b/data/extractions/172014125.json
new file mode 100644
index 0000000..89a30cc
--- /dev/null
+++ b/data/extractions/172014125.json
@@ -0,0 +1,20 @@
+{
+ "id": 172014125,
+ "title": "The new Sacramento Airport hotel -  RENTV's Sacramento State of the Market Conference - May, 2016",
+ "url": "https://vimeo.com/172014125",
+ "duration": 2122,
+ "advertisers": [
+  {
+   "name": "Sonnenblick Development",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops properties, including the Hyatt Hotel at Sacramento Airport."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/172014837.json b/data/extractions/172014837.json
new file mode 100644
index 0000000..bc2f855
--- /dev/null
+++ b/data/extractions/172014837.json
@@ -0,0 +1,11 @@
+{
+ "id": 172014837,
+ "title": "Office Panel at RENTV's Sacramento State of the Market Conference - May, 2016",
+ "url": "https://vimeo.com/172014837",
+ "duration": 2806,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/188261706.json b/data/extractions/188261706.json
new file mode 100644
index 0000000..2ac3e12
--- /dev/null
+++ b/data/extractions/188261706.json
@@ -0,0 +1,11 @@
+{
+ "id": 188261706,
+ "title": "Westside Hotel Development and One Beverly Hills",
+ "url": "https://vimeo.com/188261706",
+ "duration": 2502,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/188271441.json b/data/extractions/188271441.json
new file mode 100644
index 0000000..0a2f03d
--- /dev/null
+++ b/data/extractions/188271441.json
@@ -0,0 +1,44 @@
+{
+ "id": 188271441,
+ "title": "Retail Panel at RENTV's Westside of LA State of the Market Conference - Aug, 2016",
+ "url": "https://vimeo.com/188271441",
+ "duration": 2907,
+ "advertisers": [
+  {
+   "name": "Champion Real Estate Company",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "President of Champion Real Estate Company discusses real estate development."
+  },
+  {
+   "name": "CBRE",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Senior VP at CBRE, Capital Markets, talks about commercial real estate brokerage."
+  },
+  {
+   "name": "Thorofare Capital",
+   "category": "lender",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Representative from Thorofare Capital discusses lending solutions for commercial real estate."
+  },
+  {
+   "name": "Paragon Commercial Group",
+   "category": "property mgmt",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Principal of Paragon Commercial Group speaks on property management strategies."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/208460446.json b/data/extractions/208460446.json
new file mode 100644
index 0000000..528b545
--- /dev/null
+++ b/data/extractions/208460446.json
@@ -0,0 +1,20 @@
+{
+ "id": 208460446,
+ "title": "Industrial Panel at RENTV's San Jose/SIlicon Valley State of the Market Conference - Feb 2017",
+ "url": "https://vimeo.com/208460446",
+ "duration": 3334,
+ "advertisers": [
+  {
+   "name": "FEBRUARY 22, 2017",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/227217030.json b/data/extractions/227217030.json
new file mode 100644
index 0000000..1fc7102
--- /dev/null
+++ b/data/extractions/227217030.json
@@ -0,0 +1,20 @@
+{
+ "id": 227217030,
+ "title": "Metropolis Los Angeles, Presentation by Ryan Aubry. Director of Development, Greenland USA",
+ "url": "https://vimeo.com/227217030",
+ "duration": 1037,
+ "advertisers": [
+  {
+   "name": "Greenland USA",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops commercial real estate projects."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/227224358.json b/data/extractions/227224358.json
new file mode 100644
index 0000000..c5a4a10
--- /dev/null
+++ b/data/extractions/227224358.json
@@ -0,0 +1,44 @@
+{
+ "id": 227224358,
+ "title": "Office Panel at RENTV's Downtown Los Angeles State of the Market Conference - April 2017",
+ "url": "https://vimeo.com/227224358",
+ "duration": 2191,
+ "advertisers": [
+  {
+   "name": "Cushman & Wakefield",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A global real estate services firm focusing on office solutions."
+  },
+  {
+   "name": "Lincoln Property Company",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A leading commercial real estate developer and owner of premier properties."
+  },
+  {
+   "name": "Rising Realty Partners",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A boutique real estate development and management company."
+  },
+  {
+   "name": "Brookfield Property Partners",
+   "category": "lender",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A global real estate investment trust providing leasing services for office properties."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/228295912.json b/data/extractions/228295912.json
new file mode 100644
index 0000000..77e57b2
--- /dev/null
+++ b/data/extractions/228295912.json
@@ -0,0 +1,20 @@
+{
+ "id": 228295912,
+ "title": "Yat-Pang Au, Founder & CEO of Veritas Investments - Keynote Address at RENTV's DT San Francisco Conference 7/20/17",
+ "url": "https://vimeo.com/228295912",
+ "duration": 1366,
+ "advertisers": [
+  {
+   "name": "Veritas Investments",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Veritas Investments focuses on multi-family demand for infill and existing properties."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/232088787.json b/data/extractions/232088787.json
new file mode 100644
index 0000000..ed6f2c8
--- /dev/null
+++ b/data/extractions/232088787.json
@@ -0,0 +1,20 @@
+{
+ "id": 232088787,
+ "title": "Introduction to Pacific Castle 1 Q 2005",
+ "url": "https://vimeo.com/232088787",
+ "duration": 664,
+ "advertisers": [
+  {
+   "name": "Trabuco Hills Center",
+   "category": "property",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A property that was purchased for $15.2 million."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/242491490.json b/data/extractions/242491490.json
new file mode 100644
index 0000000..d6658d8
--- /dev/null
+++ b/data/extractions/242491490.json
@@ -0,0 +1,20 @@
+{
+ "id": 242491490,
+ "title": "Brandon Birtcher, CEO of Birtcher Development, LLC, Keynote Address at RENTV's South Bay/Long Beach Conference 10.18.17",
+ "url": "https://vimeo.com/242491490",
+ "duration": 1999,
+ "advertisers": [
+  {
+   "name": "Birtcher Development LLC",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops real estate projects with a focus on unconventional approaches."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/308597317.json b/data/extractions/308597317.json
new file mode 100644
index 0000000..20018d9
--- /dev/null
+++ b/data/extractions/308597317.json
@@ -0,0 +1,20 @@
+{
+ "id": 308597317,
+ "title": "Introducing The Center at Needham Ranch",
+ "url": "https://vimeo.com/308597317",
+ "duration": 152,
+ "advertisers": [
+  {
+   "name": "The Center at Needham Ranch",
+   "category": "property development",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops and manages commercial real estate properties."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/31239971.json b/data/extractions/31239971.json
new file mode 100644
index 0000000..c403cba
--- /dev/null
+++ b/data/extractions/31239971.json
@@ -0,0 +1,20 @@
+{
+ "id": 31239971,
+ "title": "The LandMarc Apartments by SARES*REGIS",
+ "url": "https://vimeo.com/31239971",
+ "duration": 334,
+ "advertisers": [
+  {
+   "name": "Sabre Redis Group",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Developer of Woodland Hills Apartments with a conceptual landscape plan."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/315327378.json b/data/extractions/315327378.json
new file mode 100644
index 0000000..762d1f2
--- /dev/null
+++ b/data/extractions/315327378.json
@@ -0,0 +1,20 @@
+{
+ "id": 315327378,
+ "title": "Kilroy Realty's Oyster Point - An Aerial Introduction",
+ "url": "https://vimeo.com/315327378",
+ "duration": 73,
+ "advertisers": [
+  {
+   "name": "Kilroy",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A commercial real estate brokerage."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/316709134.json b/data/extractions/316709134.json
new file mode 100644
index 0000000..2761982
--- /dev/null
+++ b/data/extractions/316709134.json
@@ -0,0 +1,11 @@
+{
+ "id": 316709134,
+ "title": "A Glimpse of One Paseo in San Diego",
+ "url": "https://vimeo.com/316709134",
+ "duration": 62,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/32191299.json b/data/extractions/32191299.json
new file mode 100644
index 0000000..d446459
--- /dev/null
+++ b/data/extractions/32191299.json
@@ -0,0 +1,20 @@
+{
+ "id": 32191299,
+ "title": "Major Multifamily Sales in Central Orange County 11.11",
+ "url": "https://vimeo.com/32191299",
+ "duration": 478,
+ "advertisers": [
+  {
+   "name": "Unknown",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "The on-screen text provides price information but does not identify a specific advertiser."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/33583429.json b/data/extractions/33583429.json
new file mode 100644
index 0000000..c1b938b
--- /dev/null
+++ b/data/extractions/33583429.json
@@ -0,0 +1,20 @@
+{
+ "id": 33583429,
+ "title": "The Purchase and Plans for 1111 Sunset Boulevard",
+ "url": "https://vimeo.com/33583429",
+ "duration": 422,
+ "advertisers": [
+  {
+   "name": "Linear City",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops properties in the linear city area"
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/35868287.json b/data/extractions/35868287.json
new file mode 100644
index 0000000..1a7411a
--- /dev/null
+++ b/data/extractions/35868287.json
@@ -0,0 +1,20 @@
+{
+ "id": 35868287,
+ "title": "The Development and Sale of West 27th Place",
+ "url": "https://vimeo.com/35868287",
+ "duration": 433,
+ "advertisers": [
+  {
+   "name": "No identifiable advertiser",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Addresses shown without any company branding or information."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/38894517.json b/data/extractions/38894517.json
new file mode 100644
index 0000000..98c2aae
--- /dev/null
+++ b/data/extractions/38894517.json
@@ -0,0 +1,20 @@
+{
+ "id": 38894517,
+ "title": "Major Multifamily Sales Activity in NoHo and Glendale",
+ "url": "https://vimeo.com/38894517",
+ "duration": 572,
+ "advertisers": [
+  {
+   "name": "NoHo 14",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/39610422.json b/data/extractions/39610422.json
new file mode 100644
index 0000000..9678c4c
--- /dev/null
+++ b/data/extractions/39610422.json
@@ -0,0 +1,20 @@
+{
+ "id": 39610422,
+ "title": "RENTV's Roving Reporter at RealShare 2012",
+ "url": "https://vimeo.com/39610422",
+ "duration": 393,
+ "advertisers": [
+  {
+   "name": "RealShare 2012",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/42140576.json b/data/extractions/42140576.json
new file mode 100644
index 0000000..557544c
--- /dev/null
+++ b/data/extractions/42140576.json
@@ -0,0 +1,20 @@
+{
+ "id": 42140576,
+ "title": "The Purchase of the Historic Brockman Lofts Building",
+ "url": "https://vimeo.com/42140576",
+ "duration": 408,
+ "advertisers": [
+  {
+   "name": "Brockman Lofts",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops loft-style residential properties."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/429079440.json b/data/extractions/429079440.json
new file mode 100644
index 0000000..53fa949
--- /dev/null
+++ b/data/extractions/429079440.json
@@ -0,0 +1,20 @@
+{
+ "id": 429079440,
+ "title": "CapitalRiversCovidFinal",
+ "url": "https://vimeo.com/429079440",
+ "duration": 35,
+ "advertisers": [
+  {
+   "name": "Not Identifiable",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "The on-screen text does not clearly identify an advertiser."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/434219208.json b/data/extractions/434219208.json
new file mode 100644
index 0000000..7e6b836
--- /dev/null
+++ b/data/extractions/434219208.json
@@ -0,0 +1,11 @@
+{
+ "id": 434219208,
+ "title": "Commercial Real Estate Inspectors Video 1 6 30 20",
+ "url": "https://vimeo.com/434219208",
+ "duration": 111,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/44468806.json b/data/extractions/44468806.json
new file mode 100644
index 0000000..6617f98
--- /dev/null
+++ b/data/extractions/44468806.json
@@ -0,0 +1,20 @@
+{
+ "id": 44468806,
+ "title": "RENTV Takes You To The Village at Santa Monica June 2012",
+ "url": "https://vimeo.com/44468806",
+ "duration": 493,
+ "advertisers": [
+  {
+   "name": "The Village at Santa Monica",
+   "category": "property development",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A residential and commercial development in Santa Monica."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/46769758.json b/data/extractions/46769758.json
new file mode 100644
index 0000000..235be80
--- /dev/null
+++ b/data/extractions/46769758.json
@@ -0,0 +1,20 @@
+{
+ "id": 46769758,
+ "title": "J.H. Snyder's The Vermont",
+ "url": "https://vimeo.com/46769758",
+ "duration": 525,
+ "advertisers": [
+  {
+   "name": "The Vermont",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/48347303.json b/data/extractions/48347303.json
new file mode 100644
index 0000000..b948cc6
--- /dev/null
+++ b/data/extractions/48347303.json
@@ -0,0 +1,20 @@
+{
+ "id": 48347303,
+ "title": "Wood Partners' LA Projects",
+ "url": "https://vimeo.com/48347303",
+ "duration": 473,
+ "advertisers": [
+  {
+   "name": "Unknown",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Promotes a new real estate project with 22 stories and 290 units, but the specific advertiser is not identifiable."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/493420423.json b/data/extractions/493420423.json
new file mode 100644
index 0000000..46dd885
--- /dev/null
+++ b/data/extractions/493420423.json
@@ -0,0 +1,24 @@
+{
+ "id": 493420423,
+ "title": "F & F Income Properties - Your San Diego Family Mutifamily Owner",
+ "url": "https://vimeo.com/493420423",
+ "duration": 29,
+ "advertisers": [
+  {
+   "name": "F&F Income Properties, LLC",
+   "category": "broker",
+   "website": "fandfinc.com",
+   "phone": "858) 342-8462",
+   "contact_person": "Dan@FandFInc.com",
+   "pitch": "A real estate brokerage focused on income properties."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [
+  "fandfinc.com"
+ ],
+ "regex_phones": [
+  "858) 342-8462"
+ ],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/503234116.json b/data/extractions/503234116.json
new file mode 100644
index 0000000..5a7243e
--- /dev/null
+++ b/data/extractions/503234116.json
@@ -0,0 +1,20 @@
+{
+ "id": 503234116,
+ "title": "GANTRY Video_VO",
+ "url": "https://vimeo.com/503234116",
+ "duration": 55,
+ "advertisers": [
+  {
+   "name": "Gantry",
+   "category": "broker",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "A commercial real estate brokerage offering leasing and sales services."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/50591120.json b/data/extractions/50591120.json
new file mode 100644
index 0000000..0ba7eb6
--- /dev/null
+++ b/data/extractions/50591120.json
@@ -0,0 +1,20 @@
+{
+ "id": 50591120,
+ "title": "The $165 Million Shores Project in Marina del Rey",
+ "url": "https://vimeo.com/50591120",
+ "duration": 451,
+ "advertisers": [
+  {
+   "name": "Shores",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/507211620.json b/data/extractions/507211620.json
new file mode 100644
index 0000000..46f0a78
--- /dev/null
+++ b/data/extractions/507211620.json
@@ -0,0 +1,11 @@
+{
+ "id": 507211620,
+ "title": "SYNERGY VIDEO",
+ "url": "https://vimeo.com/507211620",
+ "duration": 37,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/52820750.json b/data/extractions/52820750.json
new file mode 100644
index 0000000..45a150c
--- /dev/null
+++ b/data/extractions/52820750.json
@@ -0,0 +1,11 @@
+{
+ "id": 52820750,
+ "title": "MG buys over 1000 units in Lancaster, CA",
+ "url": "https://vimeo.com/52820750",
+ "duration": 463,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/55380262.json b/data/extractions/55380262.json
new file mode 100644
index 0000000..f92d377
--- /dev/null
+++ b/data/extractions/55380262.json
@@ -0,0 +1,11 @@
+{
+ "id": 55380262,
+ "title": "The Marke In Santa Ana and The Carlyle@Colton in Irvine",
+ "url": "https://vimeo.com/55380262",
+ "duration": 528,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/565693580.json b/data/extractions/565693580.json
new file mode 100644
index 0000000..79e8482
--- /dev/null
+++ b/data/extractions/565693580.json
@@ -0,0 +1,11 @@
+{
+ "id": 565693580,
+ "title": "SMART CITY",
+ "url": "https://vimeo.com/565693580",
+ "duration": 1041,
+ "advertisers": [],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/56573116.json b/data/extractions/56573116.json
new file mode 100644
index 0000000..d4f982a
--- /dev/null
+++ b/data/extractions/56573116.json
@@ -0,0 +1,20 @@
+{
+ "id": 56573116,
+ "title": "The Wilshire La Brea Project",
+ "url": "https://vimeo.com/56573116",
+ "duration": 401,
+ "advertisers": [
+  {
+   "name": "Wilshire La Brea",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Real estate development and management in Los Angeles."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/65258106.json b/data/extractions/65258106.json
new file mode 100644
index 0000000..cb85f21
--- /dev/null
+++ b/data/extractions/65258106.json
@@ -0,0 +1,20 @@
+{
+ "id": 65258106,
+ "title": "The Runway at Playa Vista Development",
+ "url": "https://vimeo.com/65258106",
+ "duration": 607,
+ "advertisers": [
+  {
+   "name": "Runway",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/69208165.json b/data/extractions/69208165.json
new file mode 100644
index 0000000..9c374c2
--- /dev/null
+++ b/data/extractions/69208165.json
@@ -0,0 +1,20 @@
+{
+ "id": 69208165,
+ "title": "Major Inland Empire Apartment Sales",
+ "url": "https://vimeo.com/69208165",
+ "duration": 623,
+ "advertisers": [
+  {
+   "name": "Major",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Sells apartment properties in the Inland Empire."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/71974003.json b/data/extractions/71974003.json
new file mode 100644
index 0000000..fd20784
--- /dev/null
+++ b/data/extractions/71974003.json
@@ -0,0 +1,20 @@
+{
+ "id": 71974003,
+ "title": "RENTV Focus on Multifamily - Related's 225 S. Grand Ave. LA",
+ "url": "https://vimeo.com/71974003",
+ "duration": 455,
+ "advertisers": [
+  {
+   "name": "225 South Grand",
+   "category": "property mgmt",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Manages commercial properties in downtown Los Angeles."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/77077219.json b/data/extractions/77077219.json
new file mode 100644
index 0000000..1be29ee
--- /dev/null
+++ b/data/extractions/77077219.json
@@ -0,0 +1,20 @@
+{
+ "id": 77077219,
+ "title": "RENTV News Program - The New Newport Center high-rises",
+ "url": "https://vimeo.com/77077219",
+ "duration": 538,
+ "advertisers": [
+  {
+   "name": "520 Newport Center Drive",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/82824854.json b/data/extractions/82824854.json
new file mode 100644
index 0000000..e4a36cb
--- /dev/null
+++ b/data/extractions/82824854.json
@@ -0,0 +1,20 @@
+{
+ "id": 82824854,
+ "title": "The Wilshire Grand project in Downtown Los Angeles",
+ "url": "https://vimeo.com/82824854",
+ "duration": 480,
+ "advertisers": [
+  {
+   "name": "Wilshire Grand Center",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops the Wilshire Grand Project in Downtown Los Angeles."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/85237519.json b/data/extractions/85237519.json
new file mode 100644
index 0000000..5ff7ebf
--- /dev/null
+++ b/data/extractions/85237519.json
@@ -0,0 +1,20 @@
+{
+ "id": 85237519,
+ "title": "Wilshire Grand Development, Los Angeles -- 2014",
+ "url": "https://vimeo.com/85237519",
+ "duration": 441,
+ "advertisers": [
+  {
+   "name": "Wilshire Grand Center",
+   "category": "developer",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "Develops the Wilshire Grand Project in Downtown Los Angeles."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/90807750.json b/data/extractions/90807750.json
new file mode 100644
index 0000000..8a7684f
--- /dev/null
+++ b/data/extractions/90807750.json
@@ -0,0 +1,20 @@
+{
+ "id": 90807750,
+ "title": "RENTV Revisits Two San Fernando Valley Apartment Developments",
+ "url": "https://vimeo.com/90807750",
+ "duration": 526,
+ "advertisers": [
+  {
+   "name": "Revisits",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": ""
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/extractions/95064851.json b/data/extractions/95064851.json
new file mode 100644
index 0000000..83f01b2
--- /dev/null
+++ b/data/extractions/95064851.json
@@ -0,0 +1,20 @@
+{
+ "id": 95064851,
+ "title": "Major Recent San Diego Office Sales 5.14",
+ "url": "https://vimeo.com/95064851",
+ "duration": 528,
+ "advertisers": [
+  {
+   "name": "Unknown",
+   "category": "other",
+   "website": "",
+   "phone": "",
+   "contact_person": "",
+   "pitch": "No clear advertiser identified, only information about recent office sales."
+  }
+ ],
+ "guests": [],
+ "regex_sites": [],
+ "regex_phones": [],
+ "source_kind": "poster_ocr"
+}
\ No newline at end of file
diff --git a/data/guests.json b/data/guests.json
index cea480e..c027b62 100644
--- a/data/guests.json
+++ b/data/guests.json
@@ -1,5 +1,5 @@
 {
- "generated_at": "2026-08-07 11:18:19",
+ "generated_at": "2026-08-07 13:58:38",
  "count": 44,
  "guests": [
   {
diff --git a/scripts/build-adairings.py b/scripts/build-adairings.py
index 7fd09e0..7080881 100644
--- a/scripts/build-adairings.py
+++ b/scripts/build-adairings.py
@@ -56,6 +56,12 @@ def main():
     # + the full normalized multiword name as a substring anchor.
     terms = {}
     for a in advs:
+        # promo_only advertisers (mined from a caption-less client promo, often a
+        # building/development/place name) must NOT fuzzy-match spoken transcripts —
+        # a mention of "Wilshire Grand" in an AC Martin sponsor read is not this
+        # advertiser airing. They get their exact promo airing in the poster path below.
+        if a.get("promo_only"):
+            continue
         distinctive = set()
         for w in a.get("websites", []):
             root = w.split(".")[0].replace("-", "")
@@ -111,6 +117,54 @@ def main():
                     "spoken_copy": copy[:600],
                     "source": v.get("source", "vimeo"),
                 })
+    # ── caption-less PROMO videos: the whole clip IS the ad. Attribute one airing per
+    #    poster-OCR advertiser to its own promo video (start=0, end=duration), using the
+    #    on-card OCR text as the shown copy. Sourced from data/frames.json + the
+    #    poster_ocr extractions so these client promos appear on the as-aired timeline. ──
+    fpath = os.path.join(ROOT, "data", "frames.json")
+    xdir = os.path.join(ROOT, "data", "extractions")
+    if os.path.exists(fpath):
+        frames = {str(f["id"]): f for f in json.load(open(fpath))["frames"]}
+        # For promo attribution we key off the promo video's OWN extraction, so it's
+        # exact (not fuzzy) — use the FULL registry, not the >=2-appearance filter above,
+        # since a client promo legitimately airs once.
+        full_advs = json.load(open(ADV))["advertisers"]
+        adv_names = {a["name"] for a in full_advs}
+        namekey_to_adv = {norm(a["name"]): a["name"] for a in full_advs}
+        for fn in sorted(os.listdir(xdir)):
+            if not fn.endswith(".json"):
+                continue
+            try:
+                ex = json.load(open(os.path.join(xdir, fn)))
+            except Exception:
+                continue
+            if ex.get("source_kind") != "poster_ocr":
+                continue
+            vid = str(ex["id"])
+            v = man.get(vid)
+            if not v or v.get("has_captions"):
+                continue
+            fr = frames.get(vid, {})
+            shown = " / ".join(dict.fromkeys((fr.get("texts", []) + fr.get("logos", []))))[:600]
+            dur = int(v.get("duration", 0) or 0)
+            for a in ex.get("advertisers", []):
+                nm = (a.get("name") or "").strip()
+                # only emit an airing if this promo's advertiser survived into the registry
+                canon = nm if nm in adv_names else namekey_to_adv.get(norm(nm))
+                if not canon:
+                    continue
+                airings.append({
+                    "advertiser": canon,
+                    "episode_id": int(vid),
+                    "episode_title": v.get("title", ""),
+                    "url": v.get("url", ""),
+                    "start": 0, "end": dur,
+                    "timecode": tc(0),
+                    "deeplink": v.get("url", ""),
+                    "spoken_copy": shown,
+                    "source": "vimeo_promo",
+                })
+
     airings.sort(key=lambda x: (-x["episode_id"], x["start"]))
     json.dump({"generated_at": __import__("time").strftime("%Y-%m-%d %H:%M:%S"),
                "count": len(airings), "airings": airings}, open(OUT, "w"), indent=1)
diff --git a/scripts/extract-frames.py b/scripts/extract-frames.py
new file mode 100644
index 0000000..3b00a7a
--- /dev/null
+++ b/scripts/extract-frames.py
@@ -0,0 +1,198 @@
+#!/usr/bin/env python3
+"""Node C2 — mine ADVERTISERS from caption-less videos via their poster/title-card OCR.
+
+The 85 caption-less videos in the RENTV Vimeo library are (mostly) CLIENT PROMO
+VIDEOS — i.e. the advertisements themselves. Vimeo has no auto-captions for them, so
+extract.py (which gates on has_captions) never sees them. But ocr-posters.py already
+vision-OCR'd every title card into data/frames.json: company names, sponsor logos,
+phone numbers, emails, websites printed on screen (e.g. "F&F INCOME PROPERTIES, LLC /
+Call Dan at (858) 342-8462 / Dan@FandFInc.com").
+
+This script turns each caption-less video's OCR blob into a synthetic advertiser
+extraction written to data/extractions/<id>.json (same schema extract.py emits), so the
+existing dedupe/merge in extract.py folds them into advertisers.json and build-adairings
+attributes them. $0 — local Ollama (qwen2.5) for name/category structuring + deterministic
+regex for phone/email/website. Guests are NOT extracted here (a promo card has no guest).
+
+Idempotent + additive: only writes extractions for caption-less videos; caption-rich
+extractions (owned by extract.py) are left untouched. Re-run safe (FORCE=1 to rebuild).
+
+Env: OLLAMA_URL, OLLAMA_MODEL (default qwen2.5:latest), FORCE=1, ONLY=<id>
+"""
+import json, os, re, time, urllib.request
+
+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+FRAMES = os.path.join(ROOT, "data", "frames.json")
+MANI = os.path.join(ROOT, "data", "manifest.json")
+XDIR = os.path.join(ROOT, "data", "extractions")
+OLLAMA = os.environ.get("OLLAMA_URL", "http://127.0.0.1:11434")
+MODEL = os.environ.get("OLLAMA_MODEL", "qwen2.5:latest")
+FORCE = os.environ.get("FORCE", "") == "1"
+ONLY = os.environ.get("ONLY", "")
+
+RE_SITE = re.compile(r"\b((?:[a-z0-9-]+\.)+(?:com|net|org|co|io|us|realty|group|events))\b", re.I)
+RE_PHONE = re.compile(r"\b(?:1[-.\s]?)?(?:\(?\d{3}\)?[-.\s]?)\d{3}[-.\s]?\d{4}\b")
+RE_EMAIL = re.compile(r"\b[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}\b", re.I)
+STOP_SITES = {"rentv.com", "rentv.net"}
+# generic title-card chrome / conference labels that are NOT an advertiser
+CHROME = re.compile(r"^(rentv|commercial real estate talk|with steve|with arnie|episode\b|"
+                    r"cre talk|state of the market|panel\b|keynote\b|presentation\b|"
+                    r"moderator|sponsored by|www\.rentv|downtown\b|industrial\b|office\b|"
+                    r"retail\b|multifamily\b|hotel\b|arts district|land\b|come one|"
+                    r"leasing\b|introduction\b|introducing\b|a glimpse|discussion\b|"
+                    r"lancaster|los angeles county|orange county|inland empire|"
+                    r"san diego\b|silicon valley|sacramento\b|oakland\b|the market)", re.I)
+# names that are obviously not a company: sentence fragments, city/address lines,
+# the leaked category enum, bare all-caps section labels.
+BAD_NAME = re.compile(r"[.!?]$|,\s*(ca|california)\b|\benum\b|"
+                      r"^\s*(exit|first|birch|factom|gbc|aci|come|the firm)\s*$", re.I)
+CATEGORY_ENUM = "lender|developer|broker|law firm|insurance|title|architecture"
+
+
+def looks_like_company(nm):
+    """A real advertiser name: not a fragment/sentence, not the category enum, not a
+    pure city/section label. Allow 1-word brand names only if they read like a brand
+    (letters, no trailing period, not an all-caps generic section word)."""
+    s = (nm or "").strip()
+    if not s or "\n" in s or len(s) > 60:
+        return False
+    if CATEGORY_ENUM in s.lower():
+        return False
+    if BAD_NAME.search(s):
+        return False
+    words = s.split()
+    # sentence-like (5+ words with lowercase glue) = a pitch line, not a name
+    if len(words) >= 6:
+        return False
+    return True
+
+
+def normalize_site(s):
+    s = s.lower().strip().strip(".")
+    return re.sub(r"^www\.", "", s)
+
+
+def ollama(prompt):
+    body = json.dumps({"model": MODEL, "prompt": prompt, "format": "json",
+                       "stream": False, "options": {"temperature": 0, "num_ctx": 4096}}).encode()
+    req = urllib.request.Request(OLLAMA + "/api/generate", data=body,
+                                 headers={"Content-Type": "application/json"})
+    r = json.load(urllib.request.urlopen(req, timeout=120))
+    raw = r.get("response", "").strip()
+    try:
+        return json.loads(raw)
+    except Exception:
+        m = re.search(r"\{.*\}", raw, re.S)
+        return json.loads(m.group(0)) if m else {}
+
+
+PROMPT = """This is the on-screen text and logos from the title card / slate of a commercial-real-estate promotional video shown on RENTV. Identify the ADVERTISER / sponsoring company that this video is promoting (the client whose name/logo/contact is shown). Ignore "RENTV", the show name "Commercial Real Estate Talk", host names, and episode labels — those are the network's own chrome, not the advertiser.
+
+Return ONLY this JSON:
+{"advertisers":[{"name":"the promoted company's name","category":"lender|developer|broker|law firm|insurance|title|architecture|property mgmt|events|inspection|other","pitch":"one-sentence plain-English summary of what the company does / offers, from the on-screen text"}]}
+
+If no real advertiser company is identifiable (only network chrome / numbers / junk), return {"advertisers":[]}.
+
+ON-SCREEN TEXT + LOGOS:
+"""
+
+
+def mine_one(fr, v):
+    vid = str(fr["id"])
+    blob_lines = list(dict.fromkeys([t for t in (fr.get("texts", []) + fr.get("logos", [])) if t and t.strip()]))
+    blob = "\n".join(blob_lines)
+    out = {"id": fr["id"], "title": fr.get("title", ""), "url": v.get("url", ""),
+           "duration": v.get("duration", 0), "advertisers": [], "guests": [],
+           "regex_sites": [], "regex_phones": [], "source_kind": "poster_ocr"}
+    if not blob.strip():
+        return out
+
+    # deterministic backstop over the OCR blob
+    sites = sorted({normalize_site(m.group(1)) for m in RE_SITE.finditer(blob)} - STOP_SITES)
+    phones = sorted({p.strip() for p in RE_PHONE.findall(blob)})
+    emails = sorted({e.strip() for e in RE_EMAIL.findall(blob)})
+    out["regex_sites"] = sites
+    out["regex_phones"] = phones
+
+    try:
+        r = ollama(PROMPT + blob)
+        advs = r.get("advertisers", []) if isinstance(r, dict) else []
+    except Exception as e:
+        out["advertisers_err"] = str(e)
+        advs = []
+
+    # attach the OCR-visible phone/email/site to the (usually single) advertiser card
+    def clean_cat(c):
+        c = (c or "other").strip()
+        return c if CATEGORY_ENUM not in c.lower() and len(c) <= 24 else "other"
+
+    cleaned = []
+    for a in advs:
+        nm = (a.get("name") or "").strip()
+        if not nm or CHROME.match(nm) or len(nm) < 3 or not looks_like_company(nm):
+            continue
+        cleaned.append({
+            "name": nm,
+            "category": clean_cat(a.get("category")),
+            "website": sites[0] if sites else "",
+            "phone": phones[0] if phones else "",
+            "contact_person": emails[0] if emails else "",   # email rides contact_person; dedupe splits it
+            "pitch": a.get("pitch", ""),
+        })
+    # Fallback: LLM found nothing usable but the OCR carries a distinctive LOGO line
+    # (logos are brand marks, far less noisy than free text) — keep the first that reads
+    # like a real company so the promo isn't lost. Prefer logos over generic text lines.
+    if not cleaned:
+        for line in (fr.get("logos", []) + fr.get("texts", [])):
+            s = (line or "").strip()
+            if s and not CHROME.match(s) and looks_like_company(s) and not s.replace(" ", "").isdigit():
+                cleaned.append({"name": s, "category": "other",
+                                "website": sites[0] if sites else "",
+                                "phone": phones[0] if phones else "",
+                                "contact_person": emails[0] if emails else "",
+                                "pitch": ""})
+                break
+    out["advertisers"] = cleaned
+    return out
+
+
+def main():
+    frames = {str(f["id"]): f for f in json.load(open(FRAMES))["frames"]}
+    man = json.load(open(MANI))["videos"]
+    cap = {str(v["id"]): v.get("has_captions", False) for v in man}
+    mrec = {str(v["id"]): v for v in man}
+
+    # caption-less videos only (extract.py owns caption-rich)
+    targets = [vid for vid in frames if not cap.get(vid, False)]
+    if ONLY:
+        targets = [ONLY] if ONLY in frames else []
+    os.makedirs(XDIR, exist_ok=True)
+    print(f"[frames] mining {len(targets)} caption-less videos for on-card advertisers  model={MODEL}")
+
+    made, skipped, empty = 0, 0, 0
+    for i, vid in enumerate(targets, 1):
+        cache = os.path.join(XDIR, f"{vid}.json")
+        # never clobber a caption-rich extraction; only skip our own re-runs
+        if os.path.exists(cache) and not FORCE:
+            try:
+                ex = json.load(open(cache))
+                if ex.get("source_kind") != "poster_ocr" and cap.get(vid):
+                    skipped += 1; continue
+                if not FORCE:
+                    skipped += 1; continue
+            except Exception:
+                pass
+        t0 = time.time()
+        ex = mine_one(frames[vid], mrec.get(vid, {}))
+        json.dump(ex, open(cache, "w"), indent=1)
+        made += 1
+        if not ex["advertisers"]:
+            empty += 1
+        if i % 10 == 0 or i == len(targets):
+            print(f"  [{i}/{len(targets)}] {vid} adv={len(ex['advertisers'])} "
+                  f"({time.time()-t0:.0f}s) {ex['title'][:42]}")
+    print(f"[frames] DONE  wrote={made} skipped={skipped} no-advertiser={empty}")
+
+
+if __name__ == "__main__":
+    main()
diff --git a/scripts/extract.py b/scripts/extract.py
index b746e3b..2437fc3 100644
--- a/scripts/extract.py
+++ b/scripts/extract.py
@@ -154,6 +154,7 @@ def dedupe_advertisers(all_ex):
     mentions = []
     for ex in all_ex:
         sites = ex.get("regex_sites", [])
+        src_kind = ex.get("source_kind", "transcript")
         for a in ex.get("advertisers", []):
             if not (a.get("name") or a.get("website")):
                 continue
@@ -179,6 +180,7 @@ def dedupe_advertisers(all_ex):
                 "phone_disp": "" if is_email(raw_ph) else raw_ph.strip(),
                 "contact": cp, "category": a.get("category", ""), "pitch": a.get("pitch", ""),
                 "nk": namekey(a.get("name", "")),
+                "src_kind": src_kind,
                 "ep": {"id": ex["id"], "title": ex["title"], "url": ex["url"]},
             })
 
@@ -218,6 +220,12 @@ def dedupe_advertisers(all_ex):
         for m in ms:
             if m["ep"]["id"] not in seen:
                 seen.add(m["ep"]["id"]); eps.append(m["ep"])
+        # promo_only = every mention came from a caption-less video's poster OCR (a
+        # client PROMO), never a spoken sponsor read. These are real advertisers but their
+        # name (often a building/development/place) must NOT fuzzy-match transcripts in
+        # build-adairings — they only get their own exact promo airing.
+        kinds = {m.get("src_kind", "transcript") for m in ms}
+        promo_only = kinds == {"poster_ocr"}
         out.append({
             "name": best,
             "aliases": sorted(x for x in set(names) if x != best),
@@ -227,6 +235,8 @@ def dedupe_advertisers(all_ex):
             "emails": emails,
             "contacts": contacts,
             "pitch": pitch,
+            "source": "poster_ocr" if promo_only else ("mixed" if "poster_ocr" in kinds else "transcript"),
+            "promo_only": promo_only,
             "appearances": len(eps),
             "episodes": eps,
         })
@@ -243,17 +253,42 @@ def main():
     print(f"[extract] {len(vids)} caption-rich videos  model={MODEL} @ {OLLAMA}")
 
     all_ex = []
+    done_ids = set()
     for i, rec in enumerate(vids, 1):
         cache = os.path.join(XDIR, f"{rec['id']}.json")
         if os.path.exists(cache) and not FORCE:
             all_ex.append(json.load(open(cache)))
+            done_ids.add(str(rec["id"]))
             continue
         t0 = time.time()
         ex = extract_one(rec)
         json.dump(ex, open(cache, "w"), indent=1)
         all_ex.append(ex)
+        done_ids.add(str(rec["id"]))
         print(f"  [{i}/{len(vids)}] {rec['id']} adv={len(ex['advertisers'])} guests={len(ex['guests'])} sites={len(ex['regex_sites'])} ({time.time()-t0:.0f}s) {rec['title'][:40]}")
 
+    # ── also fold in poster-OCR extractions from caption-LESS videos (Node C2,
+    #    scripts/extract-frames.py) so the 85 caption-less client PROMO videos become
+    #    advertisers too. These carry source_kind=="poster_ocr" and are keyed off the
+    #    on-screen title card, not a transcript. Guests are never mined there. ──
+    if not ONLY:
+        ocr_added = 0
+        for f in sorted(os.listdir(XDIR)):
+            if not f.endswith(".json"):
+                continue
+            vid = f[:-5]
+            if vid in done_ids:
+                continue
+            try:
+                ex = json.load(open(os.path.join(XDIR, f)))
+            except Exception:
+                continue
+            if ex.get("source_kind") == "poster_ocr":
+                all_ex.append(ex)
+                ocr_added += 1
+        if ocr_added:
+            print(f"[extract] folded in {ocr_added} poster-OCR (caption-less) extractions")
+
     advertisers = dedupe_advertisers(all_ex)
 
     # guest hygiene: the local LLM hallucinates placeholder names ("John Doe") and fake

← 91e1534 auto-data-snapshot: 2026-08-07T11:47:33 (14 data files) — da  ·  back to Rentv Ad Engine  ·  analytics: executive-summary KPI strip (clients/airings/epis 6985df0 →