AutomationFlowsWeb Scraping › Riset Berbasis AI Dengan Jina AI Deep Search

Riset Berbasis AI Dengan Jina AI Deep Search

Riset Berbasis AI dengan Jina AI Deep Search. Uses httpRequest, chatTrigger. Chat trigger; 5 nodes.

Chat trigger trigger★★★★☆ complexityAI-powered5 nodesHTTP RequestChat Trigger
Web Scraping Trigger: Chat trigger Nodes: 5 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #3068 — we link there as the canonical source.

This workflow follows the Chat Trigger → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Riset Berbasis AI dengan Jina AI Deep Search",
  "nodes": [
    {
      "parameters": {
        "content": "## \ud83d\ude80 **Free: Open Deep Research 2.0**\n**Alur kerja riset bertenaga AI** yang sepenuhnya otomatis menggunakan **DeepSearch dari Jina AI** untuk menghasilkan laporan terstruktur dan berbasis fakta\u2014**Butuh kunci API!**",
        "height": 348,
        "width": 740,
        "color": 3
      },
      "id": "5620b6b5-1485-43a8-9acd-3368147bd742",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        192
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "content": "### \ud83e\udde0 **Cara Kerja Alur Kerja Ini**\n\nAlur kerja ini mengotomatiskan **riset mendalam dan pembuatan laporan** menggunakan **API DeepSearch Jina AI**, sehingga **penemuan pengetahuan tingkat lanjut dapat diakses secara gratis**.\n\n1\ufe0f\u20e3 **Masukan Pengguna \u2192 Riset AI**\n- Pengguna **memasukkan kueri riset** melalui obrolan.\n- Alur kerja **mengirimkan kueri** ke **API DeepSearch Jina AI** untuk **analisis mendalam**.\n\n2\ufe0f\u20e3 **Wawasan Bertenaga AI**\n- DeepSearch **mengambil** dan **menganalisis** informasi yang relevan.\n- Responsnya mencakup **wawasan utama, analisis terstruktur, dan sumber**.\n\n3\ufe0f\u20e3 **Pemformatan & Pembersihan Markdown**\n- Respons **melewati Node Kode** yang mengekstrak, membersihkan, dan **memformat** wawasan yang dihasilkan AI menjadi **keluaran Markdown yang dapat dibaca**.\n- URL diformat dengan benar, catatan kaki terstruktur, dan laporan mudah dibaca.\n\n4\ufe0f\u20e3 **Hasil Akhir**\n- Laporan penelitian akhir yang **terstruktur dengan baik** siap digunakan, **sepenuhnya otomatis dan gratis! Need API Key!!!**",
        "height": 456,
        "width": 740
      },
      "id": "dbe1cc91-34b4-4e5b-b404-dd86f47d1ebf",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        560
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://deepsearch.jina.ai/v1/chat/completions",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "jinaAiApi",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"model\": \"jina-deepsearch-v1\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"You are an advanced AI researcher that provides precise, well-structured, and insightful reports based on deep analysis. Your responses are factual, concise, and highly relevant.\"\n    },\n    {\n      \"role\": \"assistant\",\n      \"content\": \"Hi, how can I help you?\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"Provide a deep and insightful analysis on: \\\"{{ $json.chatInput }}\\\". Ensure the response is well-structured, fact-based, and directly relevant to the topic, with no unnecessary information.\"\n    }\n  ],\n  \"stream\": true,\n  \"reasoning_effort\": \"low\"\n}",
        "options": {}
      },
      "id": "42fd2f04-7d83-44c9-a41b-48860efbcf79",
      "name": "Jina AI DeepSearch Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1424,
        336
      ],
      "typeVersion": 4.2,
      "credentials": {
        "jinaAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "function extractAndFormatMarkdown(input) {\n    let extractedContent = [];\n\n    // Extract raw data string from n8n input\n    let rawData = input.first().json.data;\n\n    // Split into individual JSON strings\n    let jsonStrings = rawData.split(\"\\n\\ndata: \").map(s => s.replace(/^data: /, ''));\n\n    let lastContent = \"\";\n    \n    // Reverse loop to find the last \"content\" field\n    for (let i = jsonStrings.length - 1; i >= 0; i--) {\n        try {\n            let parsedChunk = JSON.parse(jsonStrings[i]);\n\n            if (parsedChunk.choices && parsedChunk.choices.length > 0) {\n                for (let j = parsedChunk.choices.length - 1; j >= 0; j--) {\n                    let choice = parsedChunk.choices[j];\n\n                    if (choice.delta && choice.delta.content) {\n                        lastContent = choice.delta.content.trim();\n                        break;\n                    }\n                }\n            }\n\n            if (lastContent) break; // Stop once the last content is found\n        } catch (error) {\n            console.error(\"Failed to parse JSON string:\", jsonStrings[i], error);\n        }\n    }\n\n    // Clean and format Markdown\n    lastContent = lastContent.replace(/\\[\\^(\\d+)\\]: (.*?)\\n/g, \"[$1]: $2\\n\");  // Format footnotes\n    lastContent = lastContent.replace(/\\[\\^(\\d+)\\]/g, \"[^$1]\");  // Inline footnotes\n    lastContent = lastContent.replace(/(https?:\\/\\/[^\\s]+)(?=[^]]*\\])/g, \"<$1>\");  // Format links\n\n    // Return formatted content as an array of objects (n8n expects this format)\n    return [{ text: lastContent.trim() }];\n}\n\n// Execute function and return formatted output\nreturn extractAndFormatMarkdown($input);\n"
      },
      "id": "218cbfe2-78de-4b00-875a-51761ac9f5c7",
      "name": "Format & Clean AI Response",
      "type": "n8n-nodes-base.code",
      "position": [
        1648,
        336
      ],
      "typeVersion": 2
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "1b7b3bbe-2068-4d3a-a962-134bbb6ee516",
      "name": "User Research Query Input",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        1216,
        336
      ],
      "typeVersion": 1.1
    }
  ],
  "connections": {
    "Format & Clean AI Response": {
      "main": [
        []
      ]
    },
    "Jina AI DeepSearch Request": {
      "main": [
        [
          {
            "node": "Format & Clean AI Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "User Research Query Input": {
      "main": [
        [
          {
            "node": "Jina AI DeepSearch Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "52561937-6e8d-47b6-8124-6105279afbba",
  "meta": {
    "templateId": "3068",
    "templateCredsSetupCompleted": true
  },
  "id": "6mtB4RXbZPamVhvP",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Riset Berbasis AI dengan Jina AI Deep Search. Uses httpRequest, chatTrigger. Chat trigger; 5 nodes.

Source: https://github.com/mualat/n8n-template/blob/64adbd72f5ed698e93052bf925558e729023bedd/lokal/ai-based-research-with-open-deep-research-2-0.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

o1 - mini. Uses redis, httpRequest, chatTrigger. Chat trigger; 26 nodes.

Redis, HTTP Request, Chat Trigger
Web Scraping

pfe-hunter-sophistique. Uses lmChatGroq, chatTrigger, chainLlm, httpRequest. Chat trigger; 24 nodes.

Groq Chat, Chat Trigger, Chain Llm +1
Web Scraping

Use cases are many: Compare costs across different models, plan your AI budget, optimize prompts for cost efficiency, or track expenses for client billing! OpenRouter charges a platform fee on top of

Chat Trigger, Execute Workflow Trigger, Form +4
Web Scraping

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Chat Trigger, HTTP Request, N8N Nodes Aimlapi +1
Web Scraping

Generate Videos from Chat with Google Vertex AI (Veo3) - Beginner Friendly

HTTP Request, Chat Trigger