fix(web): add Bearer auth header for Tavily /crawl endpoint

Tavily's /crawl endpoint requires Authorization: Bearer <key> in the header,
unlike /search and /extract which accept api_key in the JSON body.
Without the header, crawl returns 401 Unauthorized.
This commit is contained in:
McClean 2026-05-12 17:12:42 -07:00 committed by Teknium
parent 0c233e70f8
commit 6f92a21926

View file

@ -429,7 +429,9 @@ def _tavily_request(endpoint: str, payload: dict) -> dict:
payload["api_key"] = api_key
url = f"{_TAVILY_BASE_URL}/{endpoint.lstrip('/')}"
logger.info("Tavily %s request to %s", endpoint, url)
response = httpx.post(url, json=payload, timeout=60)
# Tavily /crawl requires Bearer auth in header (body-only auth returns 401)
headers = {"Authorization": f"Bearer {api_key}"} if endpoint.strip("/") == "crawl" else {}
response = httpx.post(url, json=payload, headers=headers, timeout=60)
response.raise_for_status()
return response.json()