La integración de una API de búsqueda en creadores de agentes sin código como n8n, Flowise y Langflow brinda a sus agentes visuales acceso web en tiempo real sin escribir conectores personalizados. El patrón es el mismo en todas las plataformas: configure un nodo de solicitud HTTP o una herramienta personalizada que realice una PUBLICACIÓN en el punto final de búsqueda, analice la respuesta JSON y la introduzca en el contexto del agente. Este tutorial muestra la configuración exacta para cada constructor, incluida la configuración del encabezado, las plantillas del cuerpo y el mapeo de salida.
Requisitos previos
- Una instancia n8n, Flowise o Langflow que se ejecuta localmente o en la nube
- Una clave API de Scavio de scavio.dev
- Familiaridad básica con los editores de flujo de trabajo basados en nodos
Guia paso a paso
Paso 1: Configurar la solicitud HTTP en n8n
En n8n, agregue un nodo de solicitud HTTP. Configure el método en POST, la URL del punto final de búsqueda y agregue su clave API como encabezado. Utilice el cuerpo JSON para pasar la consulta desde un nodo anterior o una llamada a la herramienta del agente de IA.
// 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 }}Paso 2: Conéctelo como una herramienta n8n AI Agent
En el nodo Agente AI de n8n, agregue un nodo Herramienta conectado a la Solicitud HTTP. El agente llamará a esta herramienta cuando necesite buscar en la web. Establezca el nombre y la descripción de la herramienta para que el LLM sepa cuándo usarla.
// 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 || ''
}));Paso 3: Configurar en Flowise como una herramienta personalizada
En Flowise, utilice el nodo Herramienta personalizada. Configure el método HTTP, la URL, los encabezados y el cuerpo. Flowise pasa la consulta del agente a través de la variable de entrada.
// 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');Paso 4: Configurar en Langflow como componente
En Langflow, utilice el componente Función Python o el componente Solicitud API. Asigne la entrada al cuerpo de búsqueda y la salida al siguiente nodo.
# 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 inputEjemplo en 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'))Ejemplo en 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}`)));Salida esperada
// 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...