SDK Language
Python SDK (composio package)
SDK Version
composio==0.11.3
Runtime Environment
Python 3.11 on macOS
Environment
Production Deployment
Describe the Bug
Bug: 29 toolkit logo URLs return 404/errors
Description
The /api/v3/toolkits endpoint returns broken logo URLs for 29 toolkits. These toolkits have logo URLs pointing to external websites that no longer host the images, even though working logos exist on Composio's CDN (logos.composio.dev).
Affected Toolkits
Expected Behavior
Toolkit logo URLs should point to working images. Since all these toolkits have working logos on logos.composio.dev, the metadata should use those CDN URLs instead.
Suggested Fix
Update the meta.logo field in the toolkit metadata to use https://logos.composio.dev/api/{slug} for these 29 toolkits.
Impact
Applications using the Composio API display broken/missing logos for these toolkits.
Steps to Reproduce
- Call the Composio API endpoint
GET https://backend.composio.dev/api/v3/toolkits?limit=1000
- Find any of the 29 affected toolkits (e.g., "here", "cloudlayer", "hunter")
- Extract the
meta.logo URL from the response
- Try to fetch the logo URL - it returns 404, 500, or DNS error
- Compare with the working CDN URL at
https://logos.composio.dev/api/{slug} - this works
Minimal Reproducible Example
import httpx
# Get toolkit metadata from Composio API
api_key = "YOUR_COMPOSIO_API_KEY"
headers = {"x-api-key": api_key}
# Fetch the "here" toolkit
resp = httpx.get(
"https://backend.composio.dev/api/v3/toolkits/here",
headers=headers,
timeout=30,
)
toolkit = resp.json()
# Get the logo URL from metadata
logo_url = toolkit.get("meta", {}).get("logo")
print(f"Logo URL from API: {logo_url}")
# Output: https://www.here.com/etc.clientlibs/here/clientlibs/website/clientlib-site/resources/images/here-logo.svg
# Try to fetch the logo - returns 404
logo_resp = httpx.get(logo_url, timeout=10)
print(f"Logo response status: {logo_resp.status_code}")
# Output: 404
# But the CDN URL works
cdn_url = "https://logos.composio.dev/api/here"
cdn_resp = httpx.get(cdn_url, timeout=10)
print(f"CDN response status: {cdn_resp.status_code}")
# Output: 200
Error Output / Stack Trace
Testing logo URLs for affected toolkits:
here: HTTP 404 (https://www.here.com/etc.clientlibs/here/clientlibs/website/clientlib-site/resources/images/here-logo.svg)
cloudlayer: HTTP 404 (https://cloudlayer.io/logo.png)
genderapi_io: HTTP 404 (https://genderapi.io/logo.png)
geoapify: HTTP 404 (https://www.geoapify.com/wp-content/uploads/2020/06/geoapify_logo.svg)
gladia: HTTP 404 (https://www.gladia.io/favicon.ico)
globalping: HTTP 404 (https://globalping.io/logo.png)
godial: HTTP 404 (https://godial.cc/wp-content/uploads/2020/06/GoDial-Logo-1.png)
goodbits: DNS error (https://goodbits.io/logo.png)
gosquared: HTTP 404 (https://www.gosquared.com/images/logo.png)
graphhopper: HTTP 404 (https://www.graphhopper.com/images/graphhopper_logo.svg)
griptape: HTTP 404 (https://www.griptape.ai/logo.png)
grist: HTTP 404 (https://www.getgrist.com/static/images/logo.svg)
highergov: HTTP 404 (https://www.highergov.com/favicon.ico)
honeyhive: HTTP 404 (https://www.honeyhive.ai/logo.png)
html_to_image: HTTP 404 (https://html2img.com/logo.png)
hunter: DNS error (https://logo.clearbit.com/hunter.io)
hyperise: HTTP 500 (https://hyperise.com/images/logo.png)
icypeas: HTTP 404 (https://www.icypeas.com/logo.png)
ignisign: HTTP 404 (https://ignisign.io/logo.png)
imagekit_io: Timeout (https://imagekit.io/static/imagekit-logo.svg)
imgbb: HTTP 404 (https://imgbb.com/favicon.ico)
imgix: HTTP 404 (https://assets.imgix.net/press/imgix-logo.png)
influxdb_cloud: HTTP 404 (https://www.influxdata.com/wp-content/uploads/influxdata-logo.png)
instantly: Timeout (https://app.instantly.ai/favicon.ico)
ip2location: HTTP 404 (https://www.ip2location.io/images/logo.png)
ip2whois: HTTP 404 (https://www.ip2whois.com/images/logo.png)
ipdata_co: HTTP 404 (https://ipdata.co/static/images/ipdata-logo.png)
tapfiliate: DNS error (https://logo.clearbit.com/tapfiliate.com)
flutterwave: Timeout (https://flutterwave.com/favicon.ico)
All 29 toolkits have working logos at https://logos.composio.dev/api/{slug}
Reproducibility
Additional Context or Screenshots
No response
SDK Language
Python SDK (
composiopackage)SDK Version
composio==0.11.3
Runtime Environment
Python 3.11 on macOS
Environment
Production Deployment
Describe the Bug
Bug: 29 toolkit logo URLs return 404/errors
Description
The
/api/v3/toolkitsendpoint returns broken logo URLs for 29 toolkits. These toolkits have logo URLs pointing to external websites that no longer host the images, even though working logos exist on Composio's CDN (logos.composio.dev).Affected Toolkits
Expected Behavior
Toolkit logo URLs should point to working images. Since all these toolkits have working logos on
logos.composio.dev, the metadata should use those CDN URLs instead.Suggested Fix
Update the
meta.logofield in the toolkit metadata to usehttps://logos.composio.dev/api/{slug}for these 29 toolkits.Impact
Applications using the Composio API display broken/missing logos for these toolkits.
Steps to Reproduce
GET https://backend.composio.dev/api/v3/toolkits?limit=1000meta.logoURL from the responsehttps://logos.composio.dev/api/{slug}- this worksMinimal Reproducible Example
Error Output / Stack Trace
Testing logo URLs for affected toolkits: here: HTTP 404 (https://www.here.com/etc.clientlibs/here/clientlibs/website/clientlib-site/resources/images/here-logo.svg) cloudlayer: HTTP 404 (https://cloudlayer.io/logo.png) genderapi_io: HTTP 404 (https://genderapi.io/logo.png) geoapify: HTTP 404 (https://www.geoapify.com/wp-content/uploads/2020/06/geoapify_logo.svg) gladia: HTTP 404 (https://www.gladia.io/favicon.ico) globalping: HTTP 404 (https://globalping.io/logo.png) godial: HTTP 404 (https://godial.cc/wp-content/uploads/2020/06/GoDial-Logo-1.png) goodbits: DNS error (https://goodbits.io/logo.png) gosquared: HTTP 404 (https://www.gosquared.com/images/logo.png) graphhopper: HTTP 404 (https://www.graphhopper.com/images/graphhopper_logo.svg) griptape: HTTP 404 (https://www.griptape.ai/logo.png) grist: HTTP 404 (https://www.getgrist.com/static/images/logo.svg) highergov: HTTP 404 (https://www.highergov.com/favicon.ico) honeyhive: HTTP 404 (https://www.honeyhive.ai/logo.png) html_to_image: HTTP 404 (https://html2img.com/logo.png) hunter: DNS error (https://logo.clearbit.com/hunter.io) hyperise: HTTP 500 (https://hyperise.com/images/logo.png) icypeas: HTTP 404 (https://www.icypeas.com/logo.png) ignisign: HTTP 404 (https://ignisign.io/logo.png) imagekit_io: Timeout (https://imagekit.io/static/imagekit-logo.svg) imgbb: HTTP 404 (https://imgbb.com/favicon.ico) imgix: HTTP 404 (https://assets.imgix.net/press/imgix-logo.png) influxdb_cloud: HTTP 404 (https://www.influxdata.com/wp-content/uploads/influxdata-logo.png) instantly: Timeout (https://app.instantly.ai/favicon.ico) ip2location: HTTP 404 (https://www.ip2location.io/images/logo.png) ip2whois: HTTP 404 (https://www.ip2whois.com/images/logo.png) ipdata_co: HTTP 404 (https://ipdata.co/static/images/ipdata-logo.png) tapfiliate: DNS error (https://logo.clearbit.com/tapfiliate.com) flutterwave: Timeout (https://flutterwave.com/favicon.ico) All 29 toolkits have working logos at https://logos.composio.dev/api/{slug}Reproducibility
Additional Context or Screenshots
No response