Zenrows’ cover photo
Zenrows

Zenrows

Technology, Information and Internet

Turn Any Website Into an API.

About us

Zenrows provides web data infrastructure for teams and AI agents that need reliable access to the live web. We handle the hard parts behind the scenes, returning clean, structured data without manual configuration or ongoing maintenance. Zenrows supports a broad range of users, including developers, data teams, marketers, analysts, researchers, and the AI agents increasingly used to automate this work. Access is available through our API, SDK, CLI, and MCP server. Zenrows is simple to start with and scales to advanced use cases as your requirements grow. Try Zenrows free and see how it fits into your web data workflows.

Industry
Technology, Information and Internet
Company size
11-50 employees
Headquarters
Bilbao
Type
Privately Held
Founded
2021
Specialties
Data Extraction, Web Scraping, SaaS, and Scraping Tool

Locations

Employees at Zenrows

Updates

  • Zenrows reposted this

    Your AI coding assistant can write the code, explain the API, and even suggest the fix. But ask it to check the latest documentation on a JavaScript-rendered page, and suddenly you may be dealing with stale search results or a page it cannot access. That gap matters when your agent needs live web data to make decisions. This article shows how to close it with Zenrows MCP. You can connect it to Claude Desktop, Cursor, or another MCP-compatible client and let the assistant fetch live pages, handle JavaScript rendering, access protected sites, and return the content in an AI-friendly format. For developers building agents, the interesting part is that you don't need to build a custom scraping integration for every workflow. MCP gives the AI a standard way to call the web data tool when it needs it. Read: https://bki.sh/RtVqFQi

    • No alternative text description for this image
  • Adding Zenrows to your agent is simpler than you think. Hit "Add to your agent" on our homepage and a setup prompt is copied to your clipboard. Paste it into Claude Code, Cursor, or whichever agent you use, and it'll ask how you want to connect. Options include: - MCP server for agents and IDEs - CLI for terminal and script workflows - SDK for Python or Node.js - REST API for direct HTTP calls From there, it points you to a free API key, writes the config for the option you picked, and runs a test fetch to confirm it works. Try it on our homepage 😇

  • Your coding assistant hits a page that blocks curl, and the session stops being about your code. Cursor can now read those pages itself. Add the Zenrows MCP server once, in Cursor's MCP settings, with your API key. After a restart you describe the page you need in plain English and the assistant picks the tool: Fetch for a single live page, Extract for structured fields, Batch for a list of URLs, Browser Sessions for anything behind a login. What changes is the interruption. The assistant meets a protected page, fetches it through Zenrows, and carries on with the content instead of stopping to write a retry loop around it. The MCP server itself is free. Requests draw on your plan's credits, and the free plan is 5,000 credits every month, no credit card required.

  • How do you know when a scraping job needs a browser? 🤔 We pulled the 2026 World Cup data from three sources. Two of them worked with a plain Fetch call. Wikipedia is server-rendered, so everything we needed was in the HTML the server returned. Sofascore looked harder because the page is JavaScript-rendered. But since the front end was calling a JSON endpoint underneath, Fetch pulled from that endpoint directly and skipped parsing entirely. FIFA was different. Every request carried a JWT bearer token issued for that browsing session, so there was no public URL to call. That one needed Browser Sessions with @Playwright. Our take is that a page you build with JavaScript doesn't always need a browser to scrape. Session tokens are what actually force you into one.

    • No alternative text description for this image
  • Here's how to collect a fine-tuning seed from sources that block standard crawlers. A seed is only a few hundred rows, so one bad extraction is a measurable share of the training signal. Using Zenrows Fetch: - Set mode=auto and response_type=markdown to pull clean Markdown from protected pages - Switch to response_type=pdf with js_render=true for regulatory filings and papers - Run css_extractor against the landing page to capture the license before you store anything - Check each row on length, schema, and a duplicate hash before it enters the dataset Full guide with the validation and provenance code ordnl.link/wFxnXvn

  • We just scraped the 2026 FIFA World Cup data... 'cause we can 🙄 But what we found will surprise even the staunchest football enthusiasts. Did you know: - FIFA's Golden Glove winner doesn't rank in our top ten goalkeepers (awkward) - The teams that pressed hardest recovered the ball slowest, while Türkiye pressed least and recovered fastest (someone tell the pundits) - Japan had the tournament's best shot conversion rate, taking half its shots from outside the box (just shoot, apparently) - Argentina collected the most bookings and still reached the final without a single VAR call against them (no comment) - Midfielders, not defenders, topped the defensive stats (the centre-backs are fine, thanks for asking) Which one surprised you the most? See all 15 findings and how we went about retrieving the toughest data sets: ordnl.link/vv2sZxd

    • No alternative text description for this image
    • No alternative text description for this image
    • No alternative text description for this image
  • Start using Zenrows Fetch as a typed tool inside AG2 🔥 This stops your agent pipeline from burning tokens on turns that return nothing when running multi-agent web research. Since AG2 agents share one history, without a fetch tool, the researcher comes back empty and every agent after forwards that. Register Zenrows Fetch as a tool the researcher can call. mode=auto picks the configuration each page needs, so clean Markdown enters the history on the first call. Full build with both scripts: ordnl.link/kH4vfsP

Similar pages

Browse jobs