ScavioScavio
ProductPricingDocs
Sign InGet Started
  1. Home
  2. Tutorials
  3. How to Integrate Search API in No-Code Agent Builders
Tutorial

How to Integrate Search API in No-Code Agent Builders

Wire a search API into no-code agent builders like n8n, Flowise, and Langflow. Step-by-step HTTP request nodes, tool definitions, and output parsing.

Get Free API KeyAPI Docs

Integrating a search API into no-code agent builders like n8n, Flowise, and Langflow gives your visual agents real-time web access without writing custom connectors. The pattern is the same across platforms: configure an HTTP request node or custom tool that POSTs to the search endpoint, parse the JSON response, and feed it into the agent's context. This tutorial shows the exact configuration for each builder, including header setup, body templates, and output mapping.

Prerequisites

  • An n8n, Flowise, or Langflow instance running locally or in the cloud
  • A Scavio API key from scavio.dev
  • Basic familiarity with node-based workflow editors

Walkthrough

Step 1: Configure the HTTP request in n8n

In n8n, add an HTTP Request node. Set the method to POST, the URL to the search endpoint, and add your API key as a header. Use the JSON body to pass the query from a previous node or an AI agent tool call.

JSON
// n8n HTTP Request node configuration:
// Method: POST
// URL: https://api.scavio.dev/api/v1/search
// Authentication: Header Auth
//   Name: x-api-key
//   Value: {{ $env.SCAVIO_API_KEY }}
// Body (JSON):
{
  "query": "{{ $json.query || $json.chatInput }}",
  "country_code": "us"
}
// Output: the full JSON response is available in {{ $json }}

Step 2: Wire it as an n8n AI Agent tool

In n8n's AI Agent node, add a Tool node connected to the HTTP Request. The agent will call this tool when it needs to search the web. Set the tool name and description so the LLM knows when to use it.

JavaScript
// n8n AI Agent -> Tool (HTTP Request) configuration:
// Tool Name: web_search
// Tool Description: Search the web for a query. Returns titles, links, and snippets.
// Input Schema:
//   query (string, required): The search query
//
// The HTTP Request node uses {{ $json.query }} from the tool input
// Response Mapping (Code node after HTTP Request):
const results = $input.all()[0].json.organic_results || [];
return results.slice(0, 5).map(r => ({
  title: r.title,
  url: r.link,
  snippet: r.snippet || ''
}));

Step 3: Set up in Flowise as a custom tool

In Flowise, use the Custom Tool node. Set the HTTP method, URL, headers, and body. Flowise passes the agent's query through the input variable.

JavaScript
// Flowise Custom Tool configuration:
// Name: WebSearch
// Description: Search the web and return top results
// Input Schema: { "query": { "type": "string", "description": "Search query" } }
//
// Tool Function (JavaScript):
const resp = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST',
  headers: {
    'x-api-key': $vars.SCAVIO_API_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ query: $query, country_code: 'us' })
});
const data = await resp.json();
const results = (data.organic_results || []).slice(0, 5);
return results.map(r => `${r.title}\n${r.link}\n${r.snippet || ''}`).join('\n\n');

Step 4: Set up in Langflow as a component

In Langflow, use the Python Function component or the API Request component. Map the input to the search body and the output to the next node.

Python
# Langflow Python Function component:
import requests

def search_web(query: str) -> str:
    resp = requests.post(
        'https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': flow_variables['SCAVIO_API_KEY'],
                 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'}
    )
    results = resp.json().get('organic_results', [])[:5]
    return '\n'.join(
        f"{r['title']} - {r['link']}\n{r.get('snippet', '')}"
        for r in results
    )

# Connect this component's output to the Agent's tool input

Python Example

Python
import requests, os

API_KEY = os.environ.get('SCAVIO_API_KEY', 'your_scavio_api_key')
ENDPOINT = 'https://api.scavio.dev/api/v1/search'
HEADERS = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

def search_tool(query: str, country: str = 'us') -> str:
    '''Reusable search function for any agent builder.'''
    resp = requests.post(ENDPOINT, headers=HEADERS,
        json={'query': query, 'country_code': country})
    resp.raise_for_status()
    results = resp.json().get('organic_results', [])[:5]
    return '\n'.join(
        f"{r['title']}\n{r['link']}\n{r.get('snippet', '')}"
        for r in results
    )

# Langflow / custom agent integration
print(search_tool('best no-code agent builder 2026'))

JavaScript Example

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || 'your_scavio_api_key';
const ENDPOINT = 'https://api.scavio.dev/api/v1/search';

// Reusable for n8n Code node, Flowise Custom Tool, or standalone
async function searchTool(query, country = 'us') {
  const resp = await fetch(ENDPOINT, {
    method: 'POST',
    headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: country })
  });
  if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
  const data = await resp.json();
  return (data.organic_results || []).slice(0, 5).map(r => ({
    title: r.title,
    url: r.link,
    snippet: r.snippet || ''
  }));
}

searchTool('best no-code agent builder 2026')
  .then(r => r.forEach(x => console.log(`${x.title}\n  ${x.url}`)));

Expected Output

JSON
// n8n output:
[
  { "title": "Top No-Code Agent Builders in 2026", "url": "https://example.com/builders", "snippet": "Compare n8n, Flowise, and Langflow..." },
  { "title": "Build AI Agents Without Code", "url": "https://example.com/no-code-agents", "snippet": "The fastest way to deploy agents..." }
]

// Flowise/Langflow text output:
Top No-Code Agent Builders in 2026
https://example.com/builders
Compare n8n, Flowise, and Langflow...

Build AI Agents Without Code
https://example.com/no-code-agents
The fastest way to deploy agents...

Related Tutorials

  • How to Add MCP Search to Claude Code
  • How to Add Search to a Multi-Agent System with Caching
  • How to Build a Cross-Platform Search Pipeline

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

An n8n, Flowise, or Langflow instance running locally or in the cloud. A Scavio API key from scavio.dev. Basic familiarity with node-based workflow editors. A Scavio API key gives you 50 free credits on signup.

Yes. The free tier includes 50 credits on signup, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Related Resources

Best Of

Best n8n Search API Nodes Comparison (May 2026)

Read more
Use Case

Pi Coding Agent Web Search Integration

Read more
Best Of

Best Agent Builder with Built-In Search in 2026

Read more
Glossary

No-Code Agent Search Integration Pattern

Read more
Use Case

n8n Search Enrichment Workflow

Read more
Solution

Add Unified Search to Multi-Agent Systems with Scavio

Read more

Start Building

Wire a search API into no-code agent builders like n8n, Flowise, and Langflow. Step-by-step HTTP request nodes, tool definitions, and output parsing.

Get Free API KeyRead the Docs
ScavioScavio

Real-time search API for AI agents. Search every platform, not just Google.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative

Tools

  • JSON Formatter
  • cURL to Code
  • Token Counter
  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy