Автоматизация
Скрипт поиска и экспорта на Python, файл, типичные ошибки.
На этой странице
Поиск и экспорт
import requests
API_BASE = "https://app.strokka.com/api/v1"
API_KEY = "ваш_secretKey"
search = requests.get(f"{API_BASE}/companies", params={
"search": "маркетинговое агентство",
"searchMode": "hybrid",
"limit": 100,
}).json()
ids = [c["id"] for c in search["companies"]]
print(f"Найдено: {search['totalCount']}, на странице: {len(ids)}")
export = requests.post(f"{API_BASE}/companies/export", json={
"companyIds": ids,
"key": API_KEY,
})
if export.status_code == 200:
data = export.json()
print(
f"Экспортировано: {len(data['companies'])}, "
f"кредитов: {data['creditsUsed']}, "
f"остаток: {data['creditsRemaining']}"
)
elif export.status_code == 402:
print("Недостаточно кредитов:", export.json()["detail"])
else:
export.raise_for_status()Пагинация
def collect_ids(params, page_size=1000):
ids = []
skip = 0
total = None
while total is None or skip < total:
resp = requests.get(f"{API_BASE}/companies", params={
**params,
"limit": page_size,
"skip": skip,
}).json()
total = resp["totalCount"]
page_ids = [c["id"] for c in resp["companies"]]
if not page_ids:
break
ids.extend(page_ids)
skip += page_size
print(f"Собрано: {len(ids)} / {total}")
return idsСохранение в файл
import json
data = export.json()
with open("export_result.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)Ошибки
| Код | Что делать |
|---|---|
401 | Проверить ключ в кабинете |
402 | Пополнить баланс; сравнить totalCount с балансом |
403 | Проверить подписку |
404 | Id не существуют; кредиты не списаны |
422 | Проверить тело запроса |
429 | Подождать Retry-After |
503 / 500 | Повторить с задержкой |
Повтор при 429 и 5xx — в Лимитах.