Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Logo.dev

Scalekit connector
Open markdown

The Logo.dev connector lets your AI agent act in each user's Logo.dev account. Each user connects their own Logo.dev access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 5 tools.

Tools
5
What they doRead · write · destructive
5 · 0 · 05 read0 write0 destructive
Users sign in with

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Logo.dev connection

    In AgentKit > Connections, create a Logo.dev connection. The name you give it is the connection_name your code passes. See Configure connections.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'logodev'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Logo.dev:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'logodev_get_brand',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Logo.dev credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • logodev_get_brandLook up a brand's full profile on Logo.dev from one identifier: a domain, stock ticker, ISIN, crypto symbol or company name.Read-only

    Get Brand

    Look up a brand's full profile on Logo.dev from one identifier: a domain, stock ticker, ISIN, crypto symbol or company name. Returns the brand id, name, domain, description, brand colors (hex, RGB and OKLCH, most dominant first), social profile URLs, and the logo, brandmark and social banners as temporary download URLs (valid about 24 hours) with dimensions and format, plus metadata.resolution showing how the identifier was matched. A brand Logo.dev has not indexed yet returns data.status not_indexed with metadata.pending; wait retry_after_seconds and call again (pending responses and retries are not billed). Use this to enrich a company record. Use logodev_get_logo or logodev_get_brandmark when you only need one image, logodev_search_brands to choose between several companies with similar names, and logodev_get_brand_by_id when you already stored the brand id.

    Inputs

    cryptostring
    Crypto token symbol, case-insensitive. Send exactly one of domain, ticker, isin, crypto or name. Example: BTC
    domainstring
    Company website domain. A subdomain is reduced to its registrable domain, so www.stripe.com looks up stripe.com. Send exactly one of domain, ticker, isin, crypto or name. Example: stripe.com
    isinstring
    International Securities Identification Number of the company's security, 12 characters, case-insensitive. Send exactly one of domain, ticker, isin, crypto or name. Example: US0378331005
    namestring
    Company or brand name. Logo.dev resolves it to the top search match, so use logodev_search_brands first when the name could mean several companies. Send exactly one of domain, ticker, isin, crypto or name. Example: Stripe
    nosubscribestring
    Set to true to skip the automatic webhook subscription to this brand. It only matters when webhooks are turned on for your Logo.dev account; leave it empty otherwise. Example: trueone of true
    tickerstring
    Stock or ETF ticker symbol, in any case, with no exchange prefix. A bare symbol resolves against US exchanges; for a listing on another exchange add its suffix, such as 7203.T for Tokyo. Send exactly one of domain, ticker, isin, crypto or name. Example: AAPL
  • logodev_get_brand_by_idGet a brand's full profile on Logo.dev by its brand id.Read-only

    Get Brand by ID

    Get a brand's full profile on Logo.dev by its brand id. Returns the same profile as logodev_get_brand: name, domain, description, brand colors, social profile URLs, and logo, brandmark and social banner download URLs (valid about 24 hours). A brand Logo.dev has not indexed yet returns data.status not_indexed with metadata.pending; wait retry_after_seconds and call again (pending responses and retries are not billed). Use this to refresh a brand you already stored, since a brand keeps its id when its domain changes. Use logodev_get_brand to look a brand up by domain, ticker, ISIN, crypto symbol or name. Requires a brand id (data.id) from an earlier logodev_get_brand call.

    Inputs

    idstringrequired
    Logo.dev brand id, the data.id value from a logodev_get_brand response. It starts with brand_. Example: brand_4x0wr3g0000g00400000000004
    nosubscribestring
    Set to true to skip the automatic webhook subscription to this brand. It only matters when webhooks are turned on for your Logo.dev account; leave it empty otherwise. Example: trueone of true
  • logodev_get_brandmarkGet a brand's brandmark, the wide logo lockup with the symbol and wordmark, from Logo.dev using one identifier: a domain, stock ticker, ISIN, crypto symbol or company name.Read-only

    Get Brandmark

    Get a brand's brandmark, the wide logo lockup with the symbol and wordmark, from Logo.dev using one identifier: a domain, stock ticker, ISIN, crypto symbol or company name. Returns JSON, not image bytes: a temporary signed download url (valid until expires_at, about 24 hours; append size, format (png, jpg, webp) or theme (light, dark) to it to resize or convert), the brand id, the source width, height, format, transparency and vector flags, an etag and a blurhash placeholder. Returns 404 when the brand has no brandmark. A brand Logo.dev has not indexed yet returns data.status not_indexed with metadata.pending; wait retry_after_seconds and call again (pending responses and retries are not billed). Use this for headers, logo walls and documents that need the full lockup. Use logodev_get_logo for the square logo, and logodev_get_brand for the complete profile.

    Inputs

    cryptostring
    Crypto token symbol, case-insensitive. Send exactly one of domain, ticker, isin, crypto or name. Example: BTC
    domainstring
    Company website domain. A subdomain is reduced to its registrable domain, so www.stripe.com looks up stripe.com. Send exactly one of domain, ticker, isin, crypto or name. Example: stripe.com
    isinstring
    International Securities Identification Number of the company's security, 12 characters, case-insensitive. Send exactly one of domain, ticker, isin, crypto or name. Example: US0378331005
    namestring
    Company or brand name. Logo.dev resolves it to the top search match, so use logodev_search_brands first when the name could mean several companies. Send exactly one of domain, ticker, isin, crypto or name. Example: Stripe
    tickerstring
    Stock or ETF ticker symbol, in any case, with no exchange prefix. A bare symbol resolves against US exchanges; for a listing on another exchange add its suffix, such as 7203.T for Tokyo. Send exactly one of domain, ticker, isin, crypto or name. Example: AAPL
  • logodev_search_brandsSearch Logo.dev for companies by name and return candidate brands, best match first.Read-only

    Search Brands

    Search Logo.dev for companies by name and return candidate brands, best match first. Returns up to limit candidates (10 by default, 25 at most), each with name, domain and logo_url, a logo image link signed with your account's publishable key. Returns an empty list when nothing matches. Results are candidates, not brand records, and carry no brand id. Use this to turn a company name into a domain or to suggest companies as someone types. Use logodev_get_brand with the chosen domain for the full profile, or with name to take the top match in one step.

    Inputs

    qstringrequired
    Company or brand name to search for. Example: sweetgreen
    limitinteger
    Maximum number of candidates to return, from 1 to 25. Defaults to 10. Search is not paginated. Example: 5
    methodstring
    How to match the query: match searches full names and aliases (the API default, for a submitted query); typeahead matches name prefixes (for suggestions while someone types). Example: typeaheadone of matchtypeahead