Skip to content

[Bug]: 29 toolkit logo URLs return 404/errors #3175

@Sahilsingh0808

Description

@Sahilsingh0808

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

Slug Current (Broken) URL Working CDN URL
here https://www.here.com/etc.clientlibs/here/clientlibs/website/clientlib-site/resources/images/here-logo.svg (404) https://logos.composio.dev/api/here
cloudlayer https://cloudlayer.io/logo.png (404) https://logos.composio.dev/api/cloudlayer
flutterwave https://flutterwave.com/favicon.ico (timeout) https://logos.composio.dev/api/flutterwave
genderapi_io https://genderapi.io/logo.png (404) https://logos.composio.dev/api/genderapi_io
geoapify https://www.geoapify.com/wp-content/uploads/2020/06/geoapify_logo.svg (404) https://logos.composio.dev/api/geoapify
gladia https://www.gladia.io/favicon.ico (404) https://logos.composio.dev/api/gladia
globalping https://globalping.io/logo.png (404) https://logos.composio.dev/api/globalping
godial https://godial.cc/wp-content/uploads/2020/06/GoDial-Logo-1.png (404) https://logos.composio.dev/api/godial
goodbits https://goodbits.io/logo.png (DNS error) https://logos.composio.dev/api/goodbits
gosquared https://www.gosquared.com/images/logo.png (404) https://logos.composio.dev/api/gosquared
graphhopper https://www.graphhopper.com/images/graphhopper_logo.svg (404) https://logos.composio.dev/api/graphhopper
griptape https://www.griptape.ai/logo.png (404) https://logos.composio.dev/api/griptape
grist https://www.getgrist.com/static/images/logo.svg (404) https://logos.composio.dev/api/grist
highergov https://www.highergov.com/favicon.ico (404) https://logos.composio.dev/api/highergov
honeyhive https://www.honeyhive.ai/logo.png (404) https://logos.composio.dev/api/honeyhive
html_to_image https://html2img.com/logo.png (404) https://logos.composio.dev/api/html_to_image
hunter https://logo.clearbit.com/hunter.io (DNS error) https://logos.composio.dev/api/hunter
hyperise https://hyperise.com/images/logo.png (500) https://logos.composio.dev/api/hyperise
icypeas https://www.icypeas.com/logo.png (404) https://logos.composio.dev/api/icypeas
ignisign https://ignisign.io/logo.png (404) https://logos.composio.dev/api/ignisign
imagekit_io https://imagekit.io/static/imagekit-logo.svg (timeout) https://logos.composio.dev/api/imagekit_io
imgbb https://imgbb.com/favicon.ico (404) https://logos.composio.dev/api/imgbb
imgix https://assets.imgix.net/press/imgix-logo.png (404) https://logos.composio.dev/api/imgix
influxdb_cloud https://www.influxdata.com/wp-content/uploads/influxdata-logo.png (404) https://logos.composio.dev/api/influxdb_cloud
instantly https://app.instantly.ai/favicon.ico (timeout) https://logos.composio.dev/api/instantly
ip2location https://www.ip2location.io/images/logo.png (404) https://logos.composio.dev/api/ip2location
ip2whois https://www.ip2whois.com/images/logo.png (404) https://logos.composio.dev/api/ip2whois
ipdata_co https://ipdata.co/static/images/ipdata-logo.png (404) https://logos.composio.dev/api/ipdata_co
tapfiliate https://logo.clearbit.com/tapfiliate.com (DNS error) https://logos.composio.dev/api/tapfiliate

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

  1. Call the Composio API endpoint GET https://backend.composio.dev/api/v3/toolkits?limit=1000
  2. Find any of the 29 affected toolkits (e.g., "here", "cloudlayer", "hunter")
  3. Extract the meta.logo URL from the response
  4. Try to fetch the logo URL - it returns 404, 500, or DNS error
  5. 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

  • Always reproducible
  • Intermittent / Sometimes
  • Happened once, can’t reproduce

Additional Context or Screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions