diff --git a/app/modules/prospecting/services/enrichment_service.py b/app/modules/prospecting/services/enrichment_service.py index e4a7a251..a8f787f7 100644 --- a/app/modules/prospecting/services/enrichment_service.py +++ b/app/modules/prospecting/services/enrichment_service.py @@ -210,6 +210,20 @@ class EnrichmentService: response = requests.get(api_url, params=params, timeout=60) data = response.json() + # Check for API-level errors (quota exceeded, invalid URL, etc.) + if "error" in data: + error_msg = data["error"].get("message", str(data["error"])) + logger.warning("PageSpeed API error for %s: %s", domain, error_msg) + profile = prospect.performance_profile + if not profile: + profile = ProspectPerformanceProfile(prospect_id=prospect.id) + db.add(profile) + profile.scan_error = error_msg + profile.scan_strategy = "mobile" + prospect.last_perf_scan_at = datetime.now(UTC) + db.flush() + return profile + lighthouse = data.get("lighthouseResult", {}) categories = lighthouse.get("categories", {}) audits = lighthouse.get("audits", {}) diff --git a/app/modules/prospecting/templates/prospecting/admin/prospect-detail.html b/app/modules/prospecting/templates/prospecting/admin/prospect-detail.html index 1b1287e9..5c33d50e 100644 --- a/app/modules/prospecting/templates/prospecting/admin/prospect-detail.html +++ b/app/modules/prospecting/templates/prospecting/admin/prospect-detail.html @@ -162,23 +162,39 @@
No performance data — configure PAGESPEED_API_KEY in .env