Scrape Product Hunt Using Google Gemini
**Workflow Description: Product Data Extractor** This workflow automates the extraction of product data from Product Hunt by combining webhook interactions, HTML processing, AI-based data analysis, and structured output formatting. It is designed to handle incoming requests dynamically and return detailed JSON responses for further usage. ### **Overview** The workflow processes a product name submitted through a webhook. It fetches the corresponding Product Hunt page, extracts and analyzes inline scripts, and structures the data into a well-defined JSON format using AI tools. The final JSON response is returned to the client through the webhook. ### **Workflow Steps** #### 1. **Webhook Listener** - **Node:** Receive Product Request - **Function:** Captures incoming requests containing the product name to process. - **Details:** Accepts HTTP requests and extracts the `product` parameter from the query string, such as `<custom_webhook_url>/?product=epigram`. #### 2. **Fetch Product HTML** - **Node:** Fetch Product HTML - **Function:** Sends an HTTP request to retrieve the HTML content of the specified Product Hunt page. - **Details:** Constructs a dynamic URL using the product name and fetches the page data. #### 3. **Extract Inline Scripts** - **Node:** Extract Inline Scripts - **Function:** Parses the HTML content to extract inline scripts located within the `<head>` section. - **Details:** Excludes scripts containing `src` attributes and validates the presence of inline scripts. #### 4. **Process Data with LLM** - **Node:** Process Script with LLM - **Function:** Analyzes the extracted scripts using a language model to identify key product data. - **Details:** Processes the script to derive structured and meaningful insights. #### 5. **Refine Data with Google Gemini** - **Node:** Analyze Script with Google Gemini - **Function:** Leverages Google Gemini AI for enhanced analysis of script data. - **Details:** Ensures the extracted data is precise and enriched. #### 6. **Format Product Data to JSON** - **Node:** Format Product Data to JSON - **Function:** Structures the processed data into a clean JSON format. - **Details:** Defines a schema to ensure all relevant fields are included in the output. #### 7. **Send JSON Response to Client** - **Node:** Send JSON Response to Client - **Function:** Returns the final structured JSON response to the client. - **Details:** Sends the response back via the same webhook that initiated the request. For example, `<custom_webhook_url>`. ### **Key Features** - **Versatile Use Cases:** This workflow can be used to gather Product Hunt data for creating blog posts or as a tool for AI agents to research products efficiently. - **Dynamic Processing:** Adapts to various product names through dynamic URL construction. - **AI Integration:** Utilizes the Gemini 1.5 8B AI model, offering reduced latency and minimal or no cost depending on the use case. - **Selector Independence:** Functions even if Product Hunt's DOM structure changes, as it does not rely on direct DOM selectors. - **Reliable Data Output:** A low temperature setting (0) and a precisely defined JSON schema ensure accurate and real data extraction. - **Dynamic Processing:** Adapts to various product names through dynamic URL construction. - **AI Integration:** Utilizes advanced language models for data extraction and refinement. - **Structured Output:** Ensures the output JSON adheres to a predefined schema for consistency. - **Error Handling:** Includes validations to handle missing or malformed data gracefully. ### **Customization Options** ### **Limitations** - **Dependency on Product Hunt:** Significant changes to the way Product Hunt loads data on its pages might require modifications to the workflow. - **Adaptability:** Even if changes occur, the workflow can be updated to maintain functionality due to its reliance on AI and not direct DOM selectors. - Modify the webhook path to suit your application. - Adjust the prompt for the language model to include additional fields. - Extend the JSON schema to capture more data fields as needed. ### **Expected Output** **Performance Metrics** - **Response Time:** Typically ~6 seconds per product. - **Accuracy:** Data extracted with >95% precision due to the pre-defined JSON schema. A JSON object containing detailed information about the specified product. Below is an example of a complete response for the product `Epigram`: ```json { "id": 861675, "slug": "epigram", "followersCount": 181, "name": "Epigram", "tagline": "Open-Source, Free, and AI-Powered News in Short", "reviewsRating": 0, "logoUuid": "735c2528-554c-467c-9dcf-745ee4b8bbdd.png", "postsCount": 1, "websiteUrl": "https://epigram.news", "websiteDomain": "epigram.news", "metaTitle": "Epigram - Open-source, free, and ai-powered news in short", "postName": "Epigram", "postTagline": "Open-source, free, and ai-powered news in short", "dailyPostCount": 1 } ```
- Platform
- n8n
- Category
- AI
- Price
- $9.99
- Creator
- Mauricio Perera
- code
- webhook
- stickyNote
- httpRequest
- respondToWebhook
- chainLlm
- lmChatGoogleGemini
- outputParserStructured
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related AI workflows
- Launch Your First AI-Powered Chatbot with Actionable Tools$9.99
- Automate AI Video Creation and YouTube Upload with Google Sheets$14.99
- Build a WhatsApp Assistant with Memory, Google Suite, Multi-AI, Research, and Imaging$24.99
- Automate Blog Post Creation and Publishing with GPT, Leonardo AI, and WordPress$14.99
- Email Agent$500.99
- Automate SEO Keyword Generation with ChatGPT from Google Sheets$3.99
More from Mauricio Perera
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.