Skip to main content

Kuper API

Неофициальная Python библиотека для работы с внутренним API сервиса доставки Купер

Библиотека предоставляет высокоуровневый клиент и объектные модели для каталога (ретейлеры, магазины, товары, рестораны), адресов, корзины, заказов и оформления.

Особенности

  • Синхронный клиент Client со всеми известными маршрутами API.
  • Объектные модели данных вместо «сырых» словарей.
  • Обход анти-бот защиты ServicePipe через подмену TLS-отпечатка браузера (под капотом — curl_cffi).
  • Cookie-авторизация и автоматическое получение CSRF-токена.
  • Поддержка сервиса оформления (checkout v3): инициализация, способы оплаты, завершение заказа.

Установка

pip install curl_cffi
pip install kuper_api

Быстрый старт

Чтение каталога (доступно без авторизации):

from kuper_api import Client

client = Client()

# Магазины по геолокации
for store in client.stores(lat=55.7558, lon=37.6173):
    print(store.id, store.retailer.slug, store.name)

# Поиск товаров в магазине (числовой Store ID)
for product in client.products(327, query='молоко'):
    print(product.id, product.price, product.name)

Для корзины, профиля и оформления нужна cookie из авторизованного браузера:

from kuper_api import Client

with open('.cookie.txt', encoding='utf-8') as f:
    cookie = f.read().strip()

client = Client(cookie=cookie)

session = client.shopping_session()
print(session.current_user.email)

# Добавление товара в корзину
cart = client.cart()
client.line_item_add(cart.number, store_id=327, product_id=39055067663, quantity=1)

Авторизация

API делит маршруты на два семейства:

  • v2 (профиль, корзина, заказы) — авторизуются по cookie.
  • checkout v3 (/api/v3/checkout/...) — отдельный сервис, в библиотеке заголовки авторизации (client-token, client-id, sbm-forward-tenant) проставляются автоматически.

Строку cookie нужно скопировать из авторизованного браузера (DevTools → Network → любой запрос к kuper.ru → заголовок cookie). Важно, чтобы в ней был свежий spsc (анти-бот) и авторизованный _Instamart_session.

Анти-бот

Купер закрыт анти-ботом ServicePipe, который распознаёт «голый» HTTP-клиент по TLS-отпечатку (JA3/JA4) и отдаёт 307, низводя сессию до анонимной. Поэтому библиотека использует curl_cffi с подменой отпечатка реального браузера (параметр impersonate). При срабатывании блокировки запрос автоматически повторяется.

Лицензия

LGPLv3

Автор

Если у вас возникли вопросы по бибилотеке можете написать создателю в Телеграм: @inmyuse

Release files for kuper-api 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kuper-api 0.1.0
File Size Uploaded
kuper_api-0.1.0.tar.gz 24.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kuper-api 0.1.0
File Interpreter ABI Platform
kuper_api-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 60.9 kB

Release files / kuper_api-0.1.0.tar.gz

Download URL kuper_api-0.1.0.tar.gz
Size 24.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5bed26b07e895de7ecbf6c25e948c860cd5042707032ee0ab9537accdba1c2ee
BLAKE2b-256 checksum
How to use checksums
4a674d889e6e3e79edd4cc27fb014274134517626f781c814f171dbfe96ae0aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release files / kuper_api-0.1.0-py3-none-any.whl

Download URL kuper_api-0.1.0-py3-none-any.whl
Size 36.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eabfc0d87b142f2aaac00f2d92492d69b7d9c7b903ce21c26857e51eb3ee0165
BLAKE2b-256 checksum
How to use checksums
a22b0c554d99bfd6645813f2435557de79c9a6d92712c8256701e5d25924d271
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page