Запуск нового продукта: Web Render API
All Posts

Представляем Massive Web Render: веб как API для ИИ

Jason Grad
Jason Grad · Co-founder

Веб не создавался для машин. Он создавался для людей, которые кликают по страницам и читают отрендеренный 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, а затем:

bash
curl -H "Authorization: Bearer $MASSIVE_TOKEN" \
'https://render.joinmassive.com/ai?prompt=best+ai+coding+assistant&country=us&city=New+York&model=chatgpt'
python
import os, asyncio, httpx
PROMPT = "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())
typescript
const PROMPT = 'best ai coding assistant' // ← swap for your "best [category]"
const CITY = 'New York'
const MODELS = ['chatgpt', 'gemini', 'perplexity'] as const
const 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» — на запрос, который задают ваши клиенты.

markdown
Use Massive Web Render's /ai endpoint to query "best AI coding assistant" across
ChatGPT, Gemini, and Perplexity — geo-targeted to NYC, London, and SF.
For each (model × city), capture the top recommendations, sources cited, and the
position 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 напрямую. Установите один раз:

bash
npm install -g @joinmassive/mcp-server

Затем вставьте этот промпт в ваш агент с поддержкой MCP:

markdown
Use Massive MCP to search "best AI coding assistant" across Google
(organic + AI Overview), ChatGPT, Perplexity, and Gemini — geo-targeted
to NYC, London, and SF. List competitors by avg rank and build me a
visibility report for Replit. Then propose 5 concrete actions to improve
my ranking, ranked by likely lift.

Веб не создавался для ИИ-агентов. Мы построили API-слой, благодаря которому он работает так, будто создавался.