DeepSeek добавила в свой API два инструмента: Search ищет по вебу и отдаёт до 50 результатов с готовыми выжимками, Fetch забирает страницу и возвращает её в Markdown. Оба стоят $0,75 за тысячу успешных вызовов — около 6 копеек за запрос, а пустые ответы не тарифицируются. Для агента это значит, что отдельная подписка на поиск и парсер больше не обязательна.

$0,75за 1 000 вызовов
6 копеекодин запрос
50результатов за поиск
100 / 25QPS у Search и Fetch

Search работает по адресу POST https://api.deepseek.com/v1/tools/search и авторизуется тем же ключом, что и обычные запросы к модели. В ответ приходит не страница с ссылками, а массив объектов: заголовок, адрес, короткий сниппет, длинная выжимка и оценка источника. Агенту не нужно разбирать вёрстку — он сразу получает текст, который можно положить в контекст.

Поле запросаЧто делает
queryПоисковая фраза от 1 до 128 символов, поддерживает операторы
countСколько результатов вернуть: от 1 до 50, по умолчанию 10
ori_questionИсходный вопрос пользователя — помогает понять запрос
localizationIP-адрес, по которому локализуется выдача
need_contentВернуть ли полный текст страницы в поле content

Операторы знакомы тем, кто работал с обычным поиском: site: ограничивает домен, -site: исключает, минус перед словом убирает слово, кавычки ищут точную фразу, lang: задаёт язык, after: и before: — дату публикации. Например, запрос DeepSeek site:github.com OR site:huggingface.co lang:en after:2025 вернёт только англоязычные страницы с этих двух доменов, опубликованные после 2025 года.

В каждом результате есть два важных числа. rerank_score от 0 до 3 показывает совокупное качество: релевантность, авторитетность и свежесть, всё выше 1,5 считается хорошим результатом. authority от 0 до 4 — уровень доверия к источнику, значения 3 и выше означают авторитетный сайт. Эти два поля дают агенту то, чего у обычного поиска нет: возможность отбросить мусор до того, как он попал в контекст модели.

Поле summary — выжимка на 600–800 символов, написанная специально для модели. Это дешевле, чем читать всю страницу: десять выжимок занимают примерно 2–3 тысячи токенов вместо десятков тысяч. Полный текст в content приходит только при need_content: true и только если он доступен.

Fetch API — это загрузка страницы, которая возвращает текст в Markdown

Fetch вызывается по адресу POST https://api.deepseek.com/v1/tools/fetch и принимает единственное поле url: адрес до 8 192 символов, обязательно HTTP или HTTPS, без логина и пароля внутри ссылки. В ответ приходят заголовок страницы и содержимое в Markdown — без навигации, скриптов и рекламы.

Типовой сценарий такой: Search находит кандидатов, агент отбирает два-три по rerank_score и authority, затем Fetch забирает их целиком. Такой подход дешевле, чем сразу тянуть десять страниц, и точнее, чем отвечать по одним сниппетам.

Важное ограничение: Fetch не авторизуется на сайтах и не выполняет сложные сценарии на JavaScript. Если страница закрыта логином, отдаёт контент только после прокрутки или запрещает автоматический доступ, вернётся ошибка 403 или 404. Это не сбой, а правила сайта — обходить их не нужно и нельзя.

Цена — это фиксированные $0,75 за тысячу успешных вызовов, а не оплата токенов

Оба инструмента тарифицируются одинаково: 0,75 доллара за тысячу успешных запросов. По курсу Центробанка на 17 октября 2026 года это 62,7 рубля за тысячу, то есть около 6 копеек за один вызов. Число результатов в ответе на цену не влияет: десять ссылок или пятьдесят — плата одна.

Платный только успех. Запрос тарифицируется, если вернулся HTTP 200 и непустой результат: для Search это хотя бы один элемент в массиве, для Fetch — непустое содержимое страницы. Пустая выдача, ошибки, таймауты и ответы 403 не списывают деньги. Для агента это удобно: неудачные попытки не съедают бюджет.

СервисЦена за 1 000 запросовЧто отдаёт
DeepSeek Search$0,75 (~63 ₽)До 50 результатов с выжимками
DeepSeek Fetch$0,75 (~63 ₽)Страница в Markdown
Serper$1,00 на стартовом пакетеВыдача Google, до 10 результатов
SerpAPIот $10 на тарифе ProductionВыдача Google, расширенные параметры

Цифры конкурентов взяты из их публичных тарифов на октябрь 2026 года: Serper продаёт пакеты от 50 тысяч запросов, SerpAPI считает по подписке. Сравнение честное только по цене за запрос: у Google-провайдеров другая выдача, другие лимиты и другая глубина истории.

Стоимость одного ответа агента складывается из вызовов и токенов. Если на вопрос уходит один Search, два Fetch и около 6 800 токенов, получается около 0,30 рубля: 19 копеек за три вызова и 12 копеек за работу модели. Десять тысяч таких ответов в месяц — около 3 000 рублей. Для сравнения: один поисковый вызов стоит примерно столько же, сколько 5 000 входных токенов DeepSeek Flash, поэтому экономить на поиске в ущерб качеству обычно невыгодно.

Схема вызова: Search, Fetch и модель — из чего складывается цена ответа
Один ответ агента: три вызова инструментов и работа модели — около 30 копеек.

Лимиты — это 100 и 25 запросов в секунду, которые считаются на весь аккаунт

Ограничения у Search и Fetch независимые. На аккаунт приходится 100 запросов в секунду к Search и 25 к Fetch, причём лимит общий для всех ключей: создать десять ключей и обойти его не получится. Дополнительно у Fetch есть ограничение на домен — если тянуть сотни страниц с одного сайта, часть запросов получит 429.

Для одного агента или небольшой поддержки это много: 100 запросов в секунду — это 6 000 в минуту. Узким местом почти всегда становится не лимит, а качество выдачи и стоимость полного цикла. Если агент упирается в 429, помогает не новый ключ, а очередь с повторами и уважение к чужому домену.

Для агента это замена отдельной подписке на поиск и парсер

До сих пор поиск и чтение страниц собирались из двух-трёх сервисов: один отдавал выдачу, второй превращал страницы в текст, третий чистил и резал контент. Каждый со своим ключом, счётом и лимитами. Теперь оба шага живут на том же ключе, что и модель, а выжимки уже подготовлены под контекст.

Практическая польза видна в сценариях, где данные меняются каждую неделю: цены поставщиков, наличие товара, условия доставки, изменения в законах и тарифах. Агент поддержки с поиском отвечает по актуальной странице, а не по документу, проиндексированному полгода назад. Для базы знаний это не замена, а дополнение: внутренние регламенты остаются в RAG, внешние факты приходят из Search.

Есть и обратная сторона: поиск не знает ваших правил. Если агенту разрешено отвечать клиентам, ему нужны фильтры по авторитетности, дате и домену, а также правило «нет подтверждения — передать человеку». Без этого свежесть данных не помогает, а вредит.

Риски — это качество источников и права на контент, которые остаются на вашей стороне

Поиск возвращает то, что нашёл, а не то, что правильно. Оценки rerank_score и authority помогают отсеять слабые страницы, но не гарантируют факт. Для цен, сроков и юридических условий правило простое: ответ считается подтверждённым, только если факт есть в полном тексте после Fetch, а не в коротком сниппете.

Второй риск — права. Fetch отдаёт содержимое страницы в Markdown, но это не значит, что его можно публиковать целиком. Цитировать стоит короткими фрагментами со ссылкой на источник, а массовую перепечатку чужих статей лучше не строить вообще: это нарушает права правообладателя и портит репутацию.

Третий — закрытые сайты. Часть источников отвечает 403 или 404, и это нормально: у них может быть запрет на автоматический доступ. Правильная реакция — пропустить источник, а не искать обход. Если критичный факт доступен только за логином, его должен проверить человек.

Четвёртый — качество модели на длинном контексте. Десять выжимок по 800 символов — это уже 8 тысяч знаков, и модель может потерять главное. Ограничение в три-пять источников на вопрос обычно даёт лучший ответ, чем максимальные пятьдесят результатов.

Подключение — это два HTTP-запроса на том же ключе, что и модель

Минимальная проверка занимает пару минут. Ниже пример на Python: сначала поиск, затем чтение первой подходящей страницы. Ключ берётся тот же, что для чата.

import os, requests

KEY = os.environ["DEEPSEEK_API_KEY"]
HEADERS = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}

search = requests.post(
    "https://api.deepseek.com/v1/tools/search",
    headers=HEADERS,
    json={"query": "DeepSeek Search API", "count": 5, "need_content": False},
).json()

for item in search["results"]:
    print(item["title"], item["authority"], item["url"])

page = requests.post(
    "https://api.deepseek.com/v1/tools/fetch",
    headers=HEADERS,
    json={"url": search["results"][0]["url"]},
).json()

print(page["title"])
print(page["content"][:500])

Дальше результат вставляется в контекст модели как обычный текст. Если строите агента на n8n, оба вызова делаются HTTP-нодой с тем же ключом; если на LangGraph — оборачиваются в инструмент, который модель вызывает по описанию. Отдельный SDK не нужен: API обычный JSON.

Итог — это три цифры и один сценарий, с которого стоит начать

Цифры простые: 6 копеек за вызов, 30 копеек за полный ответ агента, около 3 000 рублей на десять тысяч ответов. Начать стоит с одного сценария — ответы по свежим внешним данным там, где внутренней базы знаний недостаточно: цены, наличие, условия, изменения на рынке.

Главное решение здесь не техническое, а управленческое: какие источники агент считает доверенными и что он делает, когда подтверждения нет. Если на этот вопрос есть ответ, Search и Fetch экономят и время разработки, и деньги на подписках.

Что ещё важно знать

Нужен ли отдельный ключ для Search и Fetch API?
Нет. Оба эндпоинта работают на том же ключе DeepSeek API, что и обычные запросы к модели. Достаточно передать заголовок Authorization с уже существующим ключом.
Можно ли пользоваться Search и Fetch API бесплатно?
Прямые вызовы тарифицируются с первого дня. Бесплатными остаются серверные вызовы поиска, которые делают DeepSeek Harness, Claude Code и Codex, но только до 1 ноября 2026 года, после чего они переходят на общий тариф.
Что будет, если поиск ничего не нашёл?
Пустой массив результатов возвращается как успешный ответ, но не тарифицируется. Плата списывается только за HTTP 200 с непустым результатом, поэтому неудачные запросы не съедают бюджет.
Можно ли искать только по своему сайту?
Да, в запросе поддерживается оператор site: — например, site:n202.ru. Несколько сайтов можно объединить через OR, а лишние домены исключить оператором -site:.
Заменяет ли Fetch API полноценный парсер?
Для статей, документации и обычных страниц — да, он возвращает содержимое в Markdown. Но он не проходит авторизацию, не выполняет сложные сценарии на JavaScript и может получить 403 от сайта, который запрещает автоматический доступ.