Skip to content

New Official SDKs for TypeScript, Python and Go

SerpKite
Get API key

No-code · Dify

Dify + SerpKite

Import SerpKite into Dify as a custom tool from a short OpenAPI schema, set the Bearer key once, and use Google search in agents, chatflows and workflows. An official plugin is on the way.

Official Dify plugin coming soon

A SerpKite plugin for the Dify marketplace is on our roadmap. The custom tool below works on Dify Cloud and self-hosted today.

Overview

What Dify is, and where SerpKite fits

Dify is an open-source platform for LLM apps, agents and workflows. Custom tools are created from an OpenAPI schema, and Dify handles authentication and parameter forms for you.

The schema below exposes /v1/search with the parameters an agent needs. Dify sends the key as an Authorization: Bearer header on every call.

Setup

Set it up in 4 steps

  1. 1

    Get an API key

    Sign up (no card), create a key in the dashboard and export it as SERPKITE_API_KEY. New accounts get 2,500 free credits, then 1,000 every month.

    export SERPKITE_API_KEY=skt_live_…
  2. 2

    Create a custom tool

    In Dify, open Tools → Custom → Create Custom Tool and paste the OpenAPI schema below.

  3. 3

    Set authentication

    Auth method: API Key. Auth type: Bearer. Value: your skt_live_… key.

  4. 4

    Use it in an app

    Add the search tool to an Agent app, or drop it into a workflow as a Tool node. Test it with a question that needs the web.

Code

OpenAPI schema

serpkite.openapi.json
{
  "openapi": "3.1.0",
  "info": { "title": "SerpKite", "version": "1.0.0", "description": "Google search for agents" },
  "servers": [{ "url": "https://api.serpkite.com" }],
  "paths": {
    "/v1/search": {
      "post": {
        "operationId": "search",
        "summary": "Search Google and return results as Markdown",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["q"],
                "properties": {
                  "q": { "type": "string", "description": "Search query" },
                  "country": { "type": "string", "description": "Country code, e.g. us", "default": "us" },
                  "language": { "type": "string", "description": "Language code, e.g. en", "default": "en" },
                  "format": { "type": "string", "enum": ["markdown", "json"], "default": "markdown" }
                }
              }
            }
          }
        },
        "responses": { "200": { "description": "Search results" } }
      }
    }
  }
}

Workflows

Or use the HTTP Request node

In a Dify workflow you can also add an HTTP Request node: POST https://api.serpkite.com/v1/search, header Authorization: Bearer skt_live_…, JSON body {"q": "{{#start.query#}}", "format": "markdown"}. Pass the node's body output to an LLM node.

FAQ

Dify and SerpKite: common questions

Start building

Give your Dify project Google search

2,500 free credits, then 1,000 every month. No credit card.