[
  {
    "name": "Apify",
    "slug": "apify",
    "homepage": "https://blog.apify.com/",
    "adapter": "rss",
    "url": "https://blog.apify.com/rss/",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Bright Data Blog",
    "slug": "brightdata",
    "homepage": "https://brightdata.com/",
    "adapter": "html_index",
    "url": "https://brightdata.com/blog",
    "source_type": "Primary",
    "default_beat": "Infrastructure & Proxies",
    "enabled": true,
    "link_pattern": "/blog/(?:ai|how-tos|general|comparison|data-ethics|leadership|guest-post|brightdata-in-practice)/([a-z0-9][a-z0-9-]{4,})",
    "needs_unblock": false,
    "render": true
  },
  {
    "name": "Browserless",
    "slug": "browserless",
    "homepage": "https://www.browserless.io/",
    "adapter": "html_index",
    "url": "https://www.browserless.io/blog",
    "source_type": "Primary",
    "default_beat": "Infrastructure & Proxies",
    "enabled": true,
    "link_pattern": "/blog/([a-z0-9][a-z0-9-]{4,})",
    "needs_unblock": false,
    "render": true
  },
  {
    "name": "Crawl4AI",
    "slug": "crawl4ai",
    "homepage": "https://github.com/unclecode/crawl4ai",
    "adapter": "github_releases",
    "url": "https://github.com/unclecode/crawl4ai/releases.atom",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Crawlbase",
    "slug": "crawlbase",
    "homepage": "https://crawlbase.com/",
    "adapter": "rss",
    "url": "https://crawlbase.com/blog/atom.xml",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Crawlee",
    "slug": "crawlee",
    "homepage": "https://github.com/apify/crawlee",
    "adapter": "github_releases",
    "url": "https://github.com/apify/crawlee/releases.atom",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Datadome",
    "slug": "datadome",
    "homepage": "https://datadome.co/",
    "adapter": "rss",
    "url": "https://datadome.co/blog/feed",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Firecrawl",
    "slug": "firecrawl",
    "homepage": "https://www.firecrawl.dev/",
    "adapter": "html_index",
    "url": "https://www.firecrawl.dev/blog",
    "source_type": "Primary",
    "default_beat": "Extraction & Parsing",
    "enabled": true,
    "link_pattern": "/blog/([a-z0-9][a-z0-9-]{4,})",
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Firecrawl",
    "slug": "firecrawl-releases",
    "homepage": "https://github.com/firecrawl/firecrawl",
    "adapter": "github_releases",
    "url": "https://github.com/firecrawl/firecrawl/releases.atom",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Oxylabs",
    "slug": "oxylabs",
    "homepage": "https://oxylabs.io/",
    "adapter": "html_index",
    "url": "https://oxylabs.io/blog",
    "source_type": "Primary",
    "default_beat": "Infrastructure & Proxies",
    "enabled": true,
    "link_pattern": "/blog/([a-z0-9][a-z0-9-]{4,})",
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Playwright",
    "slug": "playwright",
    "homepage": "https://github.com/microsoft/playwright",
    "adapter": "github_releases",
    "url": "https://github.com/microsoft/playwright/releases.atom",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Puppeteer",
    "slug": "puppeteer",
    "homepage": "https://github.com/puppeteer/puppeteer",
    "adapter": "github_releases",
    "url": "https://github.com/puppeteer/puppeteer/releases.atom",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Scraperapi",
    "slug": "scraperapi",
    "homepage": "https://www.scraperapi.com/",
    "adapter": "rss",
    "url": "https://www.scraperapi.com/blog/feed",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Scrapfly",
    "slug": "scrapfly",
    "homepage": "https://scrapfly.io/",
    "adapter": "rss",
    "url": "https://scrapfly.io/blog/feed.xml",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Scrapingbee",
    "slug": "scrapingbee",
    "homepage": "https://www.scrapingbee.com/",
    "adapter": "rss",
    "url": "https://www.scrapingbee.com/blog/index.xml",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Scrapingdog",
    "slug": "scrapingdog",
    "homepage": "https://www.scrapingdog.com/",
    "adapter": "rss",
    "url": "https://www.scrapingdog.com/blog/rss.xml",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Scrapy",
    "slug": "scrapy",
    "homepage": "https://github.com/scrapy/scrapy",
    "adapter": "github_releases",
    "url": "https://github.com/scrapy/scrapy/releases.atom",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Serpapi",
    "slug": "serpapi",
    "homepage": "https://serpapi.com/",
    "adapter": "rss",
    "url": "https://serpapi.com/blog/feed",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Stagehand",
    "slug": "stagehand",
    "homepage": "https://github.com/browserbase/stagehand",
    "adapter": "github_releases",
    "url": "https://github.com/browserbase/stagehand/releases.atom",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Zenrows",
    "slug": "zenrows",
    "homepage": "https://www.zenrows.com/",
    "adapter": "rss",
    "url": "https://www.zenrows.com/blog/feed",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  },
  {
    "name": "Zyte",
    "slug": "zyte",
    "homepage": "https://www.zyte.com/",
    "adapter": "rss",
    "url": "https://www.zyte.com/rss.xml",
    "source_type": "Primary",
    "default_beat": "Open Source & Tooling",
    "enabled": true,
    "link_pattern": null,
    "needs_unblock": false,
    "render": false
  }
]