diff --git a/openbb_platform/providers/congress_gov/openbb_congress_gov/models/bill_info.py b/openbb_platform/providers/congress_gov/openbb_congress_gov/models/bill_info.py index 86015deadbd..a2918d46bec 100644 --- a/openbb_platform/providers/congress_gov/openbb_congress_gov/models/bill_info.py +++ b/openbb_platform/providers/congress_gov/openbb_congress_gov/models/bill_info.py @@ -83,6 +83,8 @@ class CongressBillInfoFetcher( ) -> dict: """Extract data from the query.""" # pylint: disable=import-outside-toplevel + from openbb_core.app.model.abstract.error import OpenBBError + from openbb_core.provider.utils.errors import UnauthorizedError from openbb_core.provider.utils.helpers import amake_request api_key = credentials.get("congress_gov_api_key", "") if credentials else "" @@ -96,6 +98,14 @@ class CongressBillInfoFetcher( url = bill_url + "&api_key=" + api_key base_info: dict = await amake_request(url) # type: ignore + + if isinstance(base_info, dict) and (error := base_info.get("error", {})): + if "API_KEY" in error.get("code", ""): + raise UnauthorizedError( + f"{error.get('code', '' )} -> {error.get('message', '')}" + ) + raise OpenBBError(f"{error.get('code', '' )} -> {error.get('message', '')}") + base_info = base_info.get("bill", {}) cosponsors = base_info.get("cosponsors", {}) diff --git a/openbb_platform/providers/congress_gov/openbb_congress_gov/models/congress_bills.py b/openbb_platform/providers/congress_gov/openbb_congress_gov/models/congress_bills.py index cb6c5818a76..0f432592de3 100644 --- a/openbb_platform/providers/congress_gov/openbb_congress_gov/models/congress_bills.py +++ b/openbb_platform/providers/congress_gov/openbb_congress_gov/models/congress_bills.py @@ -212,7 +212,8 @@ class CongressBillsFetcher( ) -> list: """Extract data from the Congress API.""" # pylint: disable=import-outside-toplevel - from openbb_core.provider.utils.helpers import amake_request # noqa + from openbb_core.provider.utils.errors import UnauthorizedError # noqa + from openbb_core.provider.utils.helpers import amake_request from openbb_congress_gov.utils.helpers import ( get_all_bills_by_type, ) @@ -296,6 +297,15 @@ class CongressBillsFetcher( try: response = await amake_request(url=url) + if isinstance(response, dict) and (error := response.get("error", {})): + if "API_KEY" in error.get("code", ""): + raise UnauthorizedError( + f"{error.get('code', '' )} -> {error.get('message', '')}" + ) + raise OpenBBError( + f"{error.get('code', '' )} -> {error.get('message', '')}" + ) + except Exception as e: # Handle exceptions raise OpenBBError(e) from e