Представляем Massive Web Render: веб как API для ИИ
Веб не создавался для машин. Он создавался для людей, которые кликают по страницам и читают отрендеренный HTML. Теперь люди хотят, чтобы машины делали эту работу за них, и разрыв между тем, что нужно ИИ-агентам, и тем, что предлагает веб, — крупнейшая нерешённая проблема агентной инфраструктуры.
Сегодня мы запускаем Massive Web Render: три эндпоинта, которые превращают открытый веб, поисковые системы и передовые LLM в чистые API для разработчиков ИИ.
Что мы запустили
Web Render — это один API key с тремя эндпоинтами:
/ai программно обращается к ChatGPT, Gemini, Perplexity и Copilot. Вы отправляете промпт. Получаете структурированный JSON с ответом, источниками и фановыми подзапросами. Геотаргетируйте на любую из более чем 195 стран, чтобы увидеть, как LLM отвечает из Токио и из Сан-Паулу. Эмулируйте любое устройство. Это тот эндпоинт, за который AEO- и GEO-стартапы берут от $400 до $2000 в месяц. У нас он стоит несколько долларов.
/search извлекает результаты Google и Bing в реальном времени, включая AI Overviews и ответы «People Also Ask». С геотаргетингом, пагинацией и учётом языка.
/browser рендерит любую веб-страницу. Вывод в виде отрендеренного HTML, сырого HTML или markdown, готового для LLM.
Почему мы его построили
В феврале мы запустили ClawPod. Это был skill OpenClaw, подключавший браузеры агентов к нашей сети резидентских прокси, чтобы 145 000 людей, которые запускают собственных агентов OpenClaw, действительно могли загружать веб-страницы, не получая блокировок.
ClawPod научил нас тому, что нужно агентам на самом деле.
Дело было не только в ротации IP. Это была полная эмуляция браузера, решение капч, обработка фингерпринтов и все остальные слои разблокировки, которые стоят между запросом агента и чистыми, структурированными данными. Лучше всего работали не те агенты, которые обходили блокировки. А те, которые получали данные, готовые к тому, чтобы LLM рассуждал по ним.
Мы взяли эти уроки и построили продакшн-версию.
Что под капотом: слой разблокировки
Большинство API, заявляющих «скрейпинг любого сайта», останавливаются на IP. Web Render идёт дальше, потому что современный веб этого требует.
Cloudflare, DataDome и PerimeterX блокируют сырые HTTP-запросы. Они проверяют фингерпринты, запускают JavaScript-челленджи, выдают капчи и ограничивают всё, что выглядит как бот. Даже резидентские IP терпят неудачу без настоящего браузера за ними.
Web Render берёт на себя весь стек разблокировки:
- Рендеринг настоящим браузером с полным выполнением JavaScript
- Решение капч для hCaptcha, reCAPTCHA и Cloudflare Turnstile
- Обход анти-бот-систем Cloudflare, DataDome и PerimeterX
- Умные повторы, когда первый запрос получает челлендж
- Sticky-сессии для многостраничных сценариев
До 3 минут на вызов, чтобы справиться с самыми сложными сайтами. Если сайт остаётся заблокированным, свяжитесь с нами, и мы заставим его работать в течение 48 часов.
Вы не управляете браузерными сессиями, ротацией фингерпринтов или логикой ретраев. Вы отправляете URL или промпт и получаете данные.
Для кого это
Разработчики ИИ-агентов, которым нужно, чтобы их агент надёжно загружал открытый веб. AEO- и GEO-стартапы, отслеживающие видимость бренда в LLM. Корпоративные команды, гоняющие внутренние пайплайны оценки LLM. Инструменты ИИ-продаж с потоками обогащения (один альфа-тестер только что снизил стоимость одного обогащения с $1 до менее $0,01, заменив инструмент с заблокированным UI нашим API и агентом с открытым исходным кодом).
Если вы когда-нибудь говорили себе «мы это сами заскрейпим» и в итоге получили хрупкий пайплайн, который ломается каждый раз, когда целевой сайт обновляется, — вот альтернатива.
Картина в целом
Salesforce только что перешёл на headless. Каждый крупный SaaS последует за ним в ближайшие 18 месяцев. Агенты не нажимают кнопки, поэтому весь софтверный стек перестраивается под них.
Открытый веб идёт в обратном направлении. Сайты закрываются за анти-бот-системами, в то время как люди всё чаще просят машины делать работу за них. Headless 360 для открытого веба не существует. Эту инфраструктуру нужно построить.
Это и есть слой, который мы строим.
Начните прямо сейчас
Попробуйте демо: один промпт, три передовых LLM, бок о бок, с геотаргетингом в любой город мира.
Первые 100 зарегистрировавшихся получают $50 на счёт.
Попробуйте сами
Те же три передовых LLM, которые опрашивает демо, — на расстоянии одного HTTP-запроса. Зарегистрируйтесь на dashboard.joinmassive.com, чтобы получить API key, а затем:
curl -H "Authorization: Bearer $MASSIVE_TOKEN" \'https://render.joinmassive.com/ai?prompt=best+ai+coding+assistant&country=us&city=New+York&model=chatgpt'
import os, asyncio, httpxPROMPT = "best ai coding assistant" # ← swap for your "best [category]"CITY = "New York"MODELS = ["chatgpt", "gemini", "perplexity"]async def query(client, model):r = await client.get("https://render.joinmassive.com/ai",headers={"Authorization": f"Bearer {os.environ['MASSIVE_TOKEN']}"},params={"prompt": PROMPT, "country": "us", "city": CITY, "model": model},timeout=180,)return model, r.json()async def main():async with httpx.AsyncClient() as c:for model, data in await asyncio.gather(*(query(c, m) for m in MODELS)):print(f"--- {model} ---")print(data.get("completion", "")[:300])asyncio.run(main())
const PROMPT = 'best ai coding assistant' // ← swap for your "best [category]"const CITY = 'New York'const MODELS = ['chatgpt', 'gemini', 'perplexity'] as constconst results = await Promise.all(MODELS.map(async (model) => {const url = new URL('https://render.joinmassive.com/ai')url.searchParams.set('prompt', PROMPT)url.searchParams.set('country', 'us')url.searchParams.set('city', CITY)url.searchParams.set('model', model)const res = await fetch(url, {headers: { Authorization: `Bearer ${process.env.MASSIVE_TOKEN}` },})return { model, data: await res.json() }}),)for (const { model, data } of results) {console.log(`--- ${model} ---`, data.completion?.slice(0, 300))}
Промпт, который можно вставить в любой агент
Работает в Claude, ChatGPT, Gemini или в вашем собственном цикле агента. Замените «Replit» на ваш бренд, а «best AI coding assistant» — на запрос, который задают ваши клиенты.
Use Massive Web Render's /ai endpoint to query "best AI coding assistant" acrossChatGPT, Gemini, and Perplexity — geo-targeted to NYC, London, and SF.For each (model × city), capture the top recommendations, sources cited, and theposition of "Replit" in each answer.Aggregate into a single visibility report:• avg rank of Replit per model• avg rank of each competitor (Cursor, Windsurf, Copilot, etc.)• cities where Replit doesn't appear at all• which sources LLMs cite most often (so I know where to invest)Then give me 5 concrete actions to improve Replit's visibility for"best AI coding assistant", ranked by likely lift.
Ещё на шаг быстрее — Massive MCP
Мы опубликовали Model Context Protocol-сервер в npm, чтобы агенты могли обращаться к Web Render напрямую. Установите один раз:
npm install -g @joinmassive/mcp-server
Затем вставьте этот промпт в ваш агент с поддержкой MCP:
Use Massive MCP to search "best AI coding assistant" across Google(organic + AI Overview), ChatGPT, Perplexity, and Gemini — geo-targetedto NYC, London, and SF. List competitors by avg rank and build me avisibility report for Replit. Then propose 5 concrete actions to improvemy ranking, ranked by likely lift.
Веб не создавался для ИИ-агентов. Мы построили API-слой, благодаря которому он работает так, будто создавался.
