Наша собственная статистика посещений включена всегда. Google Analytics помогает нам понять, как пользуются нашими публичными страницами (но не вашим рабочим пространством после входа), и включается только с вашего разрешения. См. нашу политику конфиденциальности.

API Yelp Поиск

POST

Состояние API

Состояние за 24 ч
Норма
Среднее время за 24 ч
—
  • Стабильно / норма
  • Доступно
  • Ограничено
  • Почти недоступно
Норма

Ищите местные компании на Yelp в городе или по ZIP-коду. Получите рейтинг, число отзывов, ценовую категорию, категории, контакты, часы работы и статус подтверждения страницы. Всегда указывайте location, потому что по умолчанию поиск идёт по Нью-Йорку. health_score есть только у ресторанов.

Yelp Search ищет местные компании на Yelp по keyword, например coffee или plumbers, в месте, указанном в location, и возвращает для каждой название, ссылку, рейтинг и число отзывов, ценовую категорию, категории и кухню, телефон, сайт, полный адрес, подтвердил ли владелец права на страницу, статус верификации, год открытия, а для ресторанов ещё и оценку санитарной инспекции. Локальные маркетологи, специалисты по развитию франшиз и инструменты поиска потенциальных клиентов используют эту возможность, чтобы составить карту конкурентов в районе, собрать списки потенциальных клиентов и оценить район перед открытием точки.

Всегда задавайте location: без него поиск выполняется по Нью-Йорку, глобального поиска нет. Обратите внимание на is_claimed: если права на страницу не подтверждены, компания не управляет своей карточкой на Yelp и её данные могут быть устаревшими. price_range — это ценовая категория, обозначенная одним, двумя, тремя или четырьмя знаками доллара, а не конкретная сумма. health_score содержит оценку государственной проверки соблюдения санитарных норм и доступен только для ресторанов.

Цена: $1.39 за 1 000 запросов ($0.001389 за вызов). Неудачные вызовы и пустые результаты не оплачиваются. Синхронный режим. Для долгих задач добавьте в тело запроса "mode": "async", получите job_id и опрашивайте статус.

Промпт для ИИ

Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra Yelp Поиск (yelp/search).

Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: yelp и action: search, а параметры передайте в params.
- Обязательные параметры:
  - keyword: Поисковый запрос по местным компаниям или услугам (например, coffee) для действия search в Yelp. Чтобы поиск не шёл по умолчанию по Нью-Йорку, указывайте вместе с ним явное значение location.
- Необязательные параметры:
  - location: Город, район или почтовый индекс для поиска компаний, например Austin, TX или 78701. Описывает местоположение компании, а не автора отзыва.
  - limit: Максимальное число записей в этом вызове, целое число от 1 до 50. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. (по умолчанию: 10)
- Возвращает список записей. Основные поля каждой записи: id, name, url, rating, rating_scale, review_count, price_range, categories, image_url, phone, website, cuisine; всего полей: 26, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=yelp.
- Пример тела запроса:
{
  "platform": "yelp",
  "action": "search",
  "params": {
    "keyword": "coffee"
  }
}
- Цена: $1.39 за 1 000 запросов; неудачные и пустые результаты не оплачиваются.
- Для десятков или сотен целей добавьте в тело запроса "mode": "async": вы сразу получите job_id и сможете опрашивать GET https://api.everyinfra.com/api/v1/jobs/{job_id}, чтобы получить результат.
- При ответе 422 исправьте запрос, используя предложенные в ошибке имена параметров и допустимые значения; при ответе 429 или 503 подождите указанное в Retry-After время и повторите попытку.

Прежде чем писать код, спросите меня, какие цели мне нужны, сколько их будет, какие поля мне нужны и в каком формате вывести результат; затем согласуйте со мной план и примерную стоимость.

Параметры запроса

ИмяРасположениеТипОбязательныйПо умолчаниюОписание
AuthorizationheaderstringДа-Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода.
platformbodystringДаyelpИдентификатор платформы, фиксированное значение.
actionbodystringДаsearchИдентификатор возможности, фиксированное значение.
keywordbody.paramsstringДа-Поисковый запрос по местным компаниям или услугам (например, coffee) для действия search в Yelp. Чтобы поиск не шёл по умолчанию по Нью-Йорку, указывайте вместе с ним явное значение location.
locationbody.paramsstringНет-Город, район или почтовый индекс для поиска компаний, например Austin, TX или 78701. Описывает местоположение компании, а не автора отзыва.
limitbody.paramsinteger (1–50)Нет10Максимальное число записей в этом вызове, целое число от 1 до 50. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. При значениях выше максимума эндпоинт возвращает ошибку 422 до списания средств.

Примеры кода

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "yelp",
  "action": "search",
  "params": {
    "keyword": "coffee"
  }
}'

Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.

Пример ответа

Реальный ответ

Получено October 24, 2026 at 18:28 (UTC) вызовом этого API с параметрами из примера кода выше. results и count — реальный ответ этого вызова, из которого удалены персональные данные (имена, никнеймы, аватары, ссылки на профили, контакты); в списке оставлены первые 2. id, billing и quota меняются при каждом вызове, поэтому показана только их структура.

json
{
  "id": "req_…",
  "platform": "yelp",
  "action": "search",
  "results": [
    {
      "id": "ten-thousand-coffee-new-york",
      "name": "Ten Thousand Coffee",
      "url": "https://www.yelp.com/biz/ten-thousand-coffee-new-york",
      "rating": 4.4,
      "rating_scale": 5,
      "review_count": 451,
      "price_range": "$$",
      "categories": [
        "Coffee & Tea"
      ],
      "image_url": "https://s3-media0.fl.yelpcdn.com/bphoto/QMmT8iplPLki--HoVPsBtA/ls.jpg",
      "platform": "yelp"
    },
    {
      "id": "remi-flower-and-coffee-new-york-2",
      "name": "Remi Flower & Coffee",
      "url": "https://www.yelp.com/biz/remi-flower-and-coffee-new-york-2",
      "rating": 4.5,
      "rating_scale": 5,
      "review_count": 762,
      "price_range": "$$",
      "categories": [
        "Coffee & Tea",
        "Florists",
        "Floral Designers"
      ],
      "image_url": "https://s3-media0.fl.yelpcdn.com/bphoto/jdhmWm_f2Js83l0prfbzLg/ls.jpg",
      "platform": "yelp"
    }
  ],
  "count": 10,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Поля ответа

Бизнес-данные находятся в results. В таблице перечислены поля, которые может содержать запись; значения, которые платформа не показывает, никогда не выдумываются.

ПолеЗначение
idУникальный ID записи на платформе. Уникален только в пределах одной платформы; на разных платформах ID могут повторяться.
nameНазвание самого объекта для возможностей по аккаунтам, товарам и компаниям.
urlСсылка на запись на платформе.
ratingРейтинг. Шкала зависит от платформы: rating_scale в той же записи задаёт максимум (обычно 5; у Booking, Douban, iQIYI и NAVER — 10). Перед сравнением между платформами пересчитайте значения с учётом rating_scale, иначе результат сравнения может оказаться обратным.
rating_scaleМаксимальное значение rating в той же записи: 5 для пятизвёздочных шкал, 10 для десятибалльных. Поле присутствует, только если у записи есть рейтинг.
review_countКоличество отзывов для возможностей по товарам и компаниям. null означает, что значение не раскрыто, а не 0.
price_rangeТрактуется так же, как на самой платформе
categoriesТрактуется так же, как на самой платформе
image_urlСсылка на изображение. Возможности с несколькими изображениями могут возвращать массив image_urls.
platformИдентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok).
phoneКонтактный номер телефона передаётся без нормализации формата.
websiteВнешний сайт, указанный аккаунтом или компанией.
cuisineТрактуется так же, как на самой платформе
descriptionКраткое содержание или описание, обычно короче text.
addressПолный адрес передаётся как есть.
cityНазвание города на языке платформы в исходном виде.
regionТрактуется так же, как на самой платформе
postal_codeТрактуется так же, как на самой платформе
countryСтрана или регион: полное название либо код ISO в зависимости от платформы. Значение передаётся без нормализации.
is_claimedТрактуется так же, как на самой платформе
is_verifiedПодтверждён ли аккаунт платформой. null означает, что это невозможно определить.
health_scoreТрактуется так же, как на самой платформе
established_yearТрактуется так же, как на самой платформе
imagesМассив ссылок на изображения в порядке показа на платформе; поле отсутствует, если изображений нет.
amenitiesТрактуется так же, как на самой платформе
highlightsТрактуется так же, как на самой платформе
hoursТрактуется так же, как на самой платформе

FAQ

Почему все результаты из Нью-Йорка?

Потому что location не указан, а в этом случае поиск по умолчанию идёт по Нью-Йорку. Чтобы искать в другом месте, передайте город, район или почтовый индекс, например Austin, TX или 78701. location задаёт место, где находятся компании, а не где живут авторы отзывов.

Что показывает is_claimed?

Подтвердил ли кто-то из компании права на её страницу на Yelp. Если права не подтверждены, компания не ведёт свою карточку, поэтому часы работы, телефон и сайт могут быть устаревшими; перепроверьте их в других источниках, прежде чем использовать для рассылок. is_verified дополнительно показывает, верифицировал ли Yelp аккаунт; null в этом поле означает, что статус верификации определить невозможно.

Где получить отзывы о компании из результатов?

Передайте url компании, то есть ссылку на её страницу /biz/, в Yelp Reviews, чтобы получить отзывы о ней, или в Yelp Details, чтобы получить полную карточку с часами работы и удобствами. rating и review_count здесь дают только общую оценку и число отзывов, на которых она основана.

Ошибки и оплата

401
Ключ отсутствует или недействителен.
402
Недостаточно средств на балансе. Сначала пополните баланс.
422
Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
429
Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
503
Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
200 (пусто)
Нет данных. Без списания.

Ошибки