Эта страница переведена машинным способом. Английская версия является источником и может быть точнее или новее. Открыть на английском

Продвинутое построение запросов

При работе с API finlight.me продвинутые техники построения запросов позволяют получать именно те данные, которые вам нужны. Это руководство шаг за шагом проведёт вас через сложную фильтрацию, сортировку и пагинацию, помогая оптимизировать процесс поиска данных.

Используйте Панель управления — тестер API для быстрого доступа к API и тестирования запросов.


Язык и многоязычный охват

finlight индексирует новости на нескольких языках, но каждый запрос фильтруется по одному языку. Параметр language по умолчанию равен en, поэтому, если его не задать, вы получите только англоязычные статьи — контент на других языках будет молча исключён.

Важно: language по умолчанию равен en. Запрос без language возвращает только английский. Статьи, опубликованные на других языках (например, многие китайские издания, zh), не возвращаются, пока вы явно не запросите этот язык.

Как это работает

  • Уровень статьи, точное совпадение. language фильтрует по коду ISO 639-1 каждой статьи как точное совпадение. language=en возвращает только статьи en и никогда de, zh и т. д.
  • Один язык на запрос. language принимает одно значение — массивы/списки через запятую не поддерживаются, и нет опции «все языки». Для охвата нескольких языков отправляйте один запрос на язык и объединяйте результаты.
  • Источники могут быть многоязычными. Один источник может публиковать на нескольких языках. Фильтр выбирает по языку статьи, а не источника. Неанглийские статьи издания появятся, только если вы запросите этот язык.

Примеры

По умолчанию (только английский) — идентично:

query=Alibaba
query=Alibaba&language=en

Охват на китайском:

query=Alibaba&language=zh

Охват английского + китайского — два запроса, затем объединение:

query=Alibaba&language=en
query=Alibaba&language=zh

Совет: Используйте коды ISO 639-1 (en, de, fr, zh и т. д.). Базовый набор источников finlight охватывает несколько языков — английский лишь фильтр по умолчанию, а не предел охвата.


Фильтрация запросов

Параметр query обеспечивает гибкую логику на основе ключевых слов и точность на уровне полей. Теперь вы можете нацеливаться на конкретные поля, такие как ticker, exchange, isin, source, openfigi и др.

Базовое использование ключевых слов

Одно ключевое слово:

query=Nvidia stock

Точная фраза: Чтобы искать точное совпадение, заключите фразу в двойные кавычки.

query="Elon Musk"

Включение / исключение с помощью операторов

Принудительное включение (+) и исключение (-):

Используйте +, чтобы требовать/включать, и -, чтобы исключать термин или значение для конкретного поля.

query=stock +market -google

Это вернёт статьи, содержащие «stock» и «market», но исключит те, что упоминают «google».


Фильтрация на уровне полей

Примечание: Это мощная новая возможность, позволяющая фильтровать результаты по конкретным полям прямо внутри параметра query.

Теперь вы можете запрашивать конкретные поля напрямую с помощью синтаксиса field:value в параметре query. Это обеспечивает более точные и сложные запросы, позволяя фильтровать результаты по определённым атрибутам, таким как тикеры, биржи, ISIN, источники и др.

✨ Новинка: Используйте подстановочный знак * с полями source, ticker и exchange, чтобы совпадать с любым значением (например, source:*, ticker:*, exchange:*).

Поддерживаемые поля

  • ticker (поддерживает подстановочный знак *)

  • isin

  • title

  • summary

  • content

  • openfigi

  • exchange (поддерживает подстановочный знак *)

    • Все биржи соответствуют стандарту MIC (Market Identifier Code). Поддерживаемые коды: ASEX, BVCA, BVMF, DSMD, HSTC, XSTC, MISX, NEOE, PFTS, ROCO, XADS, XAMM, XAMS, XASX, XBAH, XBEL, XBEY, XBKK, XBOG, XBOM, XBOT, XBRA, XBRU, XBSE, XBUD, XBUE, XBUL, XCAS, XCNQ, XCOL, XCSE, XCYS, XDAR, XDFM, XDHA, XDUS, XETR, XFKA, XFRA, XGHA, XHAM, XHEL, XHKG, XICE, XIDX, XIST, XJAM, XJSE, XKAR, XKAZ, XKLS, XKOR, XKUW, XLIM, XLIS, XLIT, XLJS, XLUS, XLUX, XMAL, XMAU, XMEX, XMIL, XMSW, XMUN, XNAI, XNAM, XNAS, XNGM, XNGO, XNSA, XNSE, XNYS, XASE, XOSL, XPAR, XPHS, XPRA, XRIS, XSAP, XSAU, XSES, XSCA, XSGO, XSHE, XSHG, XKRX, XSTU, XSWX, XTAE, XTAI, XTAL, XTSE, XTSX, XTUN, XUBS, XUGA, XWAR, XWBO, XZAG, XZIM, XSTO, OTCM, BMEX, XDUB, XJPX, BCXE, XPAE, XLON, XMUS, XNZE, XCAI, XBRV
  • country

    • Фильтрация по стране компании с использованием кодов ISO 3166-1 alpha-2 (например, US, GB, DE, JP, CN, FR, CA, AU, IN, BR и др.)
  • category

    • Фильтрация по категории статьи. Возможные значения: markets, economy, business, politics, geopolitics, regulation, technology, energy, commodities, crypto, health, climate, security
  • source (поддерживает подстановочный знак *)

Поддержка подстановочных знаков

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

Примеры:

query=source:*

Возвращает статьи из всех доступных источников.

query=ticker:* country:US

Возвращает статьи по всем тикерам компаний из США.

query=exchange:* -crypto

Возвращает статьи со всех бирж, исключая криптовалютный контент.

Примеры фильтрации по полям

Посмотрите, как это работает, в тестере API, и легко создавайте собственные сложные запросы.

Фильтрация по точному источнику:

query=source:www.some-source.de

Исключение источника:

query=-source:www.some-source.de

Требовать определённый тикер и исключить некоторые источники:

query=ticker:AAPL -source:www.some-source.de

Найти результаты, где контент упоминает «earnings», а биржа — NASDAQ:

query=content:earnings exchange:nasdaq

Фильтрация по компаниям из определённой страны:

query=country:US

Найти новости о немецких компаниях, но исключить Schulden:

query=country:DE -Schulden

Сочетание фильтрации по стране и тикеру:

query=country:US ticker:NVD

Сочетание фильтрации по полям с обычным поиском:

query="quarterly report" source:www.some-source.com -crypto

Булевы операторы

Примечание: слова по умолчанию объединяются через AND, поэтому явно использовать AND не нужно, если только вы не комбинируете с OR или NOT.

Логика AND / OR / NOT полностью поддерживается:

query=stock AND google
query=amazon OR google
query=market AND NOT bitcoin

Используйте скобки для группировки: Комбинируйте логические выражения для продвинутой фильтрации.

query=("Elon Musk") AND (twitter OR tesla)

Комбинируйте с подстановочными знаками для мощных запросов:

query=ticker:* AND (country:US OR country:GB) -crypto
query=source:* exchange:XNAS

💡 Советы для опытных пользователей

  • Фильтры по полям поддерживают + и - для обязательных и исключаемых значений.
  • Подстановочный знак * можно использовать с полями source, ticker и exchange, чтобы совпадать с любым значением.
  • Вы можете комбинировать несколько полей и ключевых слов для высокоточных запросов.
  • Булевы операторы вроде AND, OR, NOT нечувствительны к регистру.
  • Скобки () помогают управлять приоритетом в сложных запросах.
  • Заключайте многословные фразы в двойные кавычки ", чтобы избежать частичных совпадений.

Заключение - объединяем всё вместе

Пример: Хотите новости о Tesla (ticker:TSLA), не связанные с криптовалютой, из надёжных источников?

query=+ticker:TSLA -crypto AND (+source:www.bloomberg.com OR +source:www.reuters.com)

Пример: Хотите новости о Tesla (ticker:TSLA) или Apple (ticker:AAPL) от Bloomberg?

query=source:www.bloomberg.com AND ticker:TSLA OR source:www.bloomberg.com AND ticker:APPL

Пример: Хотите новости о компаниях из США, котирующихся на NASDAQ, но без криптовалютного контента?

query=country:US exchange:XNAS -crypto

Пример: Хотите новости о европейских технологических компаниях (Германия, Франция или Великобритания) с упоминанием прибыли?

query=earnings AND (country:DE OR country:FR OR country:GB)

Пример: Хотите новости по всем тикерам из всех источников, исключая криптовалюту?

query=ticker:* source:* -crypto

Посмотрите, как это работает, в тестере API, и легко создавайте собственные сложные запросы.


Поля запроса Raw WebSocket

Raw WebSocket поддерживает подмножество фильтров на уровне полей, адаптированное к его упрощённой модели данных. В отличие от обогащённого WebSocket и REST API, Raw WebSocket не поддерживает фильтры по полям, связанным с тикерами, биржами или компаниями.

Поддерживаемые поля

  • source - фильтрация по домену источника статьи
  • title - фильтрация по содержимому заголовка статьи
  • summary - фильтрация по содержимому краткого описания статьи

Примеры

Фильтрация по содержимому заголовка:

query=title:Nvidia

Сочетание фильтров по заголовку и описанию:

query=summary:earnings +title:Tesla

Фильтрация по источнику и исключение ключевого слова:

query=source:www.reuters.com -crypto

Сочетание нескольких фильтров по полям с булевыми операторами:

query=title:Apple AND summary:revenue

Примечание: Все стандартные операторы запросов (+, -, AND, OR, NOT, скобки, двойные кавычки) работают с фильтрами по полям Raw WebSocket.


Нужна помощь?

Если вы застряли, у вас есть вопросы или вы видите, что можно улучшить, не стесняйтесь обращаться. Мы рады общению и готовы поддержать ваш успех с API finlight.me.