### Maxun Local Setup Guide Source: https://docs.maxun.dev/category/installation This guide assists in installing and running Maxun on your local system. It covers the necessary steps for a local environment setup. ```markdown [πŸ“„οΈ Local Setup This guide will help you install and run Maxun on your local system.](https://docs.maxun.dev/installation/local) ``` -------------------------------- ### Maxun Upgrade Guide Source: https://docs.maxun.dev/category/installation This guide provides instructions for upgrading Maxun, applicable to both local installations and Docker Compose setups. It outlines the steps needed to update your Maxun instance. ```markdown [πŸ“„οΈ Upgrading Upgrading Maxun is straightforward, whether you're running it locally or using Docker Compose. Follow the instructions below based on your setup.](https://docs.maxun.dev/installation/upgrade) ``` -------------------------------- ### Maxun Docker Compose Installation Source: https://docs.maxun.dev/category/installation This guide helps you install and run Maxun using Docker Compose. Docker Compose simplifies the process by managing all necessary dependencies automatically. ```markdown [πŸ“„οΈ Docker Compose This guide will help you install and run Maxun with Docker Compose. Docker Compose is a tool that helps you define and share multi-container applications. You don't need to install each dependency used by Maxun separately as Docker Compose will automatically do it for you.](https://docs.maxun.dev/installation/docker) ``` -------------------------------- ### Start Maxun Application Source: https://docs.maxun.dev/installation/local Starts both the frontend and backend services of the Maxun application. Access the frontend and backend using the URLs defined in your environment variables. ```bash # start frontend and backend together npm run start ``` -------------------------------- ### Maxun MCP Server Setup Guide Source: https://docs.maxun.dev/category/mcp This guide explains how to set up the Maxun MCP Server to connect Maxun with local LLMs. It uses Claude Desktop as an example configuration. ```APIDOC MCP Server Setup: Purpose: Configure the MCP server to connect Maxun to local LLMs. Example Configuration: Claude Desktop Guide Link: https://docs.maxun.dev/mcp/setup ``` -------------------------------- ### Install Playwright Source: https://docs.maxun.dev/installation/local Installs Playwright and its dependencies, which is used for end-to-end testing. This command ensures Playwright is properly initialized for use. ```bash # make sure playwright is properly initialized npx playwright install npx playwright install-deps # get back to the root directory cd .. ``` -------------------------------- ### Install Node.js Dependencies Source: https://docs.maxun.dev/installation/local Installs the necessary Node.js dependencies for both the main project and the maxun-core module. It requires navigating into the project directories. ```bash # change directory to the project root cd maxun # install dependencies npm install # change directory to maxun-core to install dependencies cd maxun-core npm install # get back to the root directory cd .. ``` -------------------------------- ### Upgrading Maxun with Local Setup Source: https://docs.maxun.dev/installation/upgrade This section outlines the process for upgrading Maxun when it is set up directly on your machine. It covers navigating to the project directory, pulling the latest changes from the master branch, installing new dependencies using npm, and starting the Maxun application. ```shell cd maxun ``` ```shell git pull origin master ``` ```shell npm install ``` ```shell npm run start ``` -------------------------------- ### Maxun Environment Variables Configuration Source: https://docs.maxun.dev/category/installation This guide details the essential environment variables required for Maxun to operate smoothly. It highlights mandatory variables for proper functioning. ```markdown [πŸ“„οΈ Environment Variables It is important to configure all environment variables labeled as "Mandatory" to ensure Maxun operates smoothly.](https://docs.maxun.dev/installation/environment_variables) ``` -------------------------------- ### Clone Maxun Repository Source: https://docs.maxun.dev/installation/local Clones the Maxun project repository from GitHub to your local machine. This is the first step in the local setup process. ```bash git clone https://github.com/getmaxun/maxun ``` -------------------------------- ### Docker Compose Up Command Source: https://docs.maxun.dev/installation/docker Starts the Maxun application services defined in the docker-compose.yml file in detached mode. ```bash docker-compose up -d ``` -------------------------------- ### Workflow 4: Asynchronous Execution Source: https://docs.maxun.dev/mcp/tools Guide for asynchronous robot execution, covering starting execution without waiting, monitoring progress, and retrieving results. ```APIDOC 1. "Run robot [robot-id] but don't wait for completion" - Start execution 2. "Check the status of run [run-id]" - Monitor progress 3. "Get results for run [run-id] when it's done" - Retrieve final results ``` -------------------------------- ### Build MCP Worker Source: https://docs.maxun.dev/mcp/setup Execute this command to build the MCP server. This command generates a `dist` folder in your root directory containing the `mcp-worker.js` file. ```bash npm run mcp:build ``` -------------------------------- ### Airtable Integration Setup Source: https://docs.maxun.dev/integrations/airtable This section outlines the steps for integrating Maxun with Airtable. It covers authentication, selecting the Airtable base and table, and notes on data syncing for both Maxun Cloud and Maxun Open Source. ```APIDOC Maxun Airtable Integration: Overview: Automatically syncs data extracted by Maxun robots to an Airtable Base. Data is appended after each successful robot run. Key Features: - Automatic Data Syncing: Appends data from successful runs. - Effortless Data Management: Organizes extracted data in Airtable. - Real-Time Updates: Data appears in Airtable upon run completion. Important Note: Only data extracted *after* integration is synced. Pre-integration data is not included. Setting Up Airtable Integration: Maxun Cloud: 1. Authenticate with Airtable: - Uses secure OAuth flow automatically. 2. Select Airtable Base & Table: - Grant access to the desired Airtable Base after authentication. - Robot appends data to the selected base after each successful run. - Integration can be removed at any time. Maxun Open Source: 1. Bring Your Own Airtable Client ID: - Obtain Client ID from Airtable OAuth Integrations Platform (airtable.com/create/oauth). 2. Authenticate With Airtable: - Set up OAuth Keys in the `.env` file. - Authenticate using the same account used for Client ID creation. 3. Select Airtable Base & Table: - Grant access to the desired Airtable Base after authentication. - Robot appends data to the selected base after each successful run. - Integration can be removed at any time. ``` -------------------------------- ### MCP Server Configuration Source: https://docs.maxun.dev/mcp/setup Configure the MCP server JSON file with your build MCP server path, API key, and backend URL. This configuration is used within Claude Desktop's developer settings. ```json { "mcpServers": { "maxun": { "command": "node", "args": [ "/path/to/your/project/dist/mcp-worker.js" ], "env": { "MCP_API_KEY": "your_api_key_here", "BACKEND_URL": "your_backend_url_here", "MCP_WORKER": "true" } } } } ``` -------------------------------- ### Robot Duplication Guide Source: https://docs.maxun.dev/robot/robot-duplicate Explains the process and criteria for duplicating robots in Maxun. It details scenarios where duplication is beneficial (same structure, same data extraction) and when it should be avoided (different structure, different data extraction). Includes examples using producthunt.com. ```markdown # Robot Duplication Robot duplication is useful to extract data from pages with the **same structure without training a new robot!** ### βœ… When to duplicate a robot? 1. The new page has the same structure as the existing page. 2. You want to extract the same data as the existing page. Example: If you've created a robot for [producthunt.com/topics/chrome-extensions](https://www.producthunt.com/topics/chrome-extensions), you can duplicate it to scrape similar pages like [producthunt.com/topics/sports](https://www.producthunt.com/topics/sports) without training a robot from scratch. Using robot duplication, you can bulk extract same data from thousands of pages of the same website, without writing code. ### ❌ When to not duplicate a robot? 1. The new page does not have the same structure as the existing page. 2. You don't want to extract the same data as the existing page even if the pages are structurally same. Example: If you've created a robot for [producthunt.com/topics/chrome-extensions](https://www.producthunt.com/topics/chrome-extensions), you should not duplicate it to scrape pages like [github.com](https://github.com). If you do so, you will get no data. ### See Robot Duplication In Action [Previous Robot Actions](https://docs.maxun.dev/robot/robot-actions)[Next Schedule Robots](https://docs.maxun.dev/robot/robot-schedule) ``` -------------------------------- ### Conventional Commits Example Source: https://docs.maxun.dev/development/contributing An example of a commit message following the Conventional Commits specification. ```conventional-commits feat(api): Add new endpoint for user data ``` -------------------------------- ### i18n Translation Guide Source: https://docs.maxun.dev/category/development Information on how Maxun handles internationalization and translation within its repositories. This section details the process and any specific tools or formats used for managing translations. ```en This section details the process and any specific tools or formats used for managing translations. ``` -------------------------------- ### Maxun Open Source Google Sheets Setup Source: https://docs.maxun.dev/integrations/gsheet Instructions for setting up Google Sheets integration with Maxun Open Source. This involves obtaining Google OAuth keys from the Google Cloud Console and configuring them in the Maxun environment. ```APIDOC Google Cloud Console Setup: 1. Create a project in the Google Cloud Console. 2. Enable Google Sheets API and Google Drive API for the project. 3. Obtain Google OAuth keys (Client ID and Client Secret). Maxun Configuration: 1. Add obtained OAuth keys to the `.env` file: GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= 2. Authenticate the robot using the same Google account used for OAuth key creation. ``` -------------------------------- ### Maxun Login Extraction Guide Source: https://docs.maxun.dev/extract-login This documentation outlines the process of extracting data from websites that require user login credentials using Maxun. It covers the steps for entering and securely storing credentials during robot training, performing data extraction actions, and the potential risks involved, such as account flagging by websites. ```APIDOC Maxun Login Extraction: Process: 1. Enter username/email and password during robot training. 2. Perform a data extraction action (refer to Robot Actions documentation). 3. Credentials are encrypted and stored securely for future use. 4. Robots use stored credentials to log in and perform actions on each run. Risks: - Account flagging or deletion by websites with strong bot detection. - Personal accounts may be flagged due to IP address changes. - Recommendation: Use Maxun locally for login-required extractions over the cloud version. Upcoming Features: - Cookie support for supported websites. - 2FA and MFA support for enhanced automation. ``` -------------------------------- ### Upgrading Maxun with Docker Compose Source: https://docs.maxun.dev/installation/upgrade This section details the steps to upgrade Maxun when using Docker Compose. It includes navigating to the project directory, stopping running containers, optionally removing old Docker images, pulling the latest images, and starting Maxun with the updated images. ```shell cd maxun ``` ```shell docker-compose down ``` ```shell docker rmi getmaxun/maxun-frontend:latest getmaxun/maxun-backend:latest ``` ```shell docker-compose pull backend frontend ``` ```shell docker-compose up -d ``` -------------------------------- ### Tips for Better Prompts Source: https://docs.maxun.dev/mcp/tools Recommendations for writing effective prompts to interact with Maxun tools, emphasizing specificity and natural language. ```APIDOC * Be specific : Include robot IDs or run IDs when you know them * Use natural language : The LLM understands conversational requests * Combine requests : "Run robot abc123 and then show me a performance summary" * Ask follow-up questions : "What was the error in that failed run?" * Request specific data : "Show me only the successful runs from last week" ``` -------------------------------- ### Contributing Guidelines Source: https://docs.maxun.dev/category/development Guidelines for contributing to the Maxun project. This covers information on setting up a development environment, coding standards, pull request process, and how to report issues or suggest features. ```en Guidelines for contributing to the Maxun project. This covers information on setting up a development environment, coding standards, pull request process, and how to report issues or suggest features. ``` -------------------------------- ### Maxun MCP Tool - Get Robot Information Source: https://docs.maxun.dev/mcp/tools Triggers the `get_robot` tool to retrieve detailed information about a specific robot. Requires a robot ID. ```APIDOC Prompts: "Tell me about robot [robot-id]" "Show me details for robot abc123" "What does robot abc123 do?" ``` -------------------------------- ### Maxun MCP Tool - Get Specific Run Details Source: https://docs.maxun.dev/mcp/tools Triggers the `get_run_details` tool to fetch specific details and results for a particular robot run. Requires both robot ID and run ID. ```APIDOC Prompts: "Show me details for run [run-id] of robot [robot-id]" "What happened in run xyz789 for robot abc123?" "Get the results from run xyz789" ``` -------------------------------- ### Maxun Tools Reference Source: https://docs.maxun.dev/mcp/tools Reference for available Maxun tools, detailing their purpose and how they are triggered by user prompts. ```APIDOC Tool | Purpose | Triggered By ---|---|--- `list_robots` | Get all available robots | "Show me all robots", "List my robots" `get_robot` | Get robot details | "Tell me about robot X", "Show robot details" `run_robot` | Execute a robot | "Run robot X", "Execute robot X" `get_robot_runs` | Get run history | "Show runs for robot X", "List executions" `get_run_details` | Get specific run info | "Show run details", "What happened in run X" `get_robot_summary` | Get performance stats | "Performance summary", "How is robot X doing" ``` -------------------------------- ### Maxun MCP Server Tools Overview Source: https://docs.maxun.dev/category/mcp The Maxun MCP Server offers tools to manage robots, including listing them, running them, and fetching their results. ```APIDOC MCP Server Tools: Functionality: - List robots - Run robots - Retrieve robot results Documentation Link: https://docs.maxun.dev/mcp/tools ``` -------------------------------- ### Repository Structure Overview Source: https://docs.maxun.dev/category/development An explanation of how Maxun's repositories are organized. This includes details on directory layouts, module separation, and the overall architecture to help developers understand the project's structure. ```en An explanation of how Maxun's repositories are organized. This includes details on directory layouts, module separation, and the overall architecture to help developers understand the project's structure. ``` -------------------------------- ### Robots Overview Source: https://docs.maxun.dev/category/robots Provides a general introduction to Maxun robots, explaining their purpose as automated tools for website data collection. It highlights their ability to navigate, extract, and organize data efficiently. ```markdown ## [πŸ“„οΈ Robots Overview Maxun robots are automated tools that help you collect data from websites without writing any code. Think of them as your personal web assistants that can navigate websites, extract information, and organize data just like you would manually - but faster and more efficiently.](https://docs.maxun.dev/robot/robots) ``` -------------------------------- ### Get All Runs for a Robot Source: https://docs.maxun.dev/api/run-api Retrieves all runs associated with a specific robot. This API endpoint requires the robot's ID as a path parameter. It returns a list of runs, including their status, name, timestamps, and associated data. ```APIDOC GET /api/robots/{id}/runs Parameters: id (required) string: The ID of the robot. Responses: 200 OK: description: A list of runs for the robot. content: application/json: schema: type: object properties: statusCode: { type: integer, example: 200 } messageCode: { type: string, example: "success" } runs: type: object properties: totalCount: { type: integer, example: 2 } items: type: array items: type: object properties: id: { type: string, example: "a4389317-fcfc-4006-8fc0-a31b290daf41" } status: { type: string, example: "success" } name: { type: string, example: "10 post link tree" } robotId: { type: string, example: "0a3acb0f-4928-483b-8610-35049efa90fd" } startedAt: { type: string, example: "6/1/2025, 2:27:06 pm" } finishedAt: { type: string, example: "6/1/2025, 2:27:24 pm" } runId: { type: string, example: "b9b4cba1-40b4-4947-a7d0-6194d277d0b7" } runByUserId: { type: integer, example: 8 } runByScheduleId: { type: null } runByAPI: { type: null } data: type: array items: type: object additionalProperties: { type: string } screenshot: { type: null } 500 Internal Server Error: description: Error retrieving robots. content: application/json: schema: type: object properties: statusCode: { type: integer, example: 500 } messageCode: { type: string, example: "error" } message: { type: string, example: "Failed to retrieve runs" } ``` -------------------------------- ### Maxun Robot Capabilities Source: https://docs.maxun.dev/index Details the various actions a Maxun robot can perform for automated web data extraction, including interacting with web elements, handling complex scenarios like logins and infinite scrolling, and integrating with external services. ```APIDOC Robot Capabilities: - Open a webpage - Log in - Click on buttons - Fill out a form - Select from dropdown menus, radios, checkboxes, dates, times, etc. - Take screenshots - Gather web data without coding (point, click, collect) - Handle infinite scrolling and pagination - Auto-adapt to website layout & structural changes [Cloud Only] - Run on a specific schedule - Run via APIs for third-party integrations - Extract data behind login - Extract data behind login with 2FA/MFA support [Coming Soon] - Integrate with applications (Google Sheet, Airtable, etc.) - Send data to webhooks - Communicate with LLMs using MCP (Model Context Protocol) ``` -------------------------------- ### Get Specific Robot Run by ID Source: https://docs.maxun.dev/api/run-api Retrieves the details of a specific robot run using both the robot's ID and the run's ID. This is useful for checking the status and results of a previously initiated robot execution. ```APIDOC GET /api/robots/{id}/runs/{runId} Description: Fetches the details of a specific robot run. Parameters: id (required, string): The unique identifier of the robot. runId (required, string): The unique identifier of the specific run to retrieve. Responses: 200 OK: Description: Robot run details retrieved successfully. Content: application/json: Schema: type: object properties: statusCode: { type: integer, example: 200 } messageCode: { type: string, example: "success" } run: type: object properties: id: { type: string, example: "1ffbc139-6b16-4164-a61e-d4813c300a66" } status: { type: string, example: "success" } name: { type: string, example: "10 post link tree" } robotId: { type: string, example: "0a3acb0f-4928-483b-8610-35049efa90fd" } startedAt: { type: string, example: "8/1/2025, 12:04:24 am" } finishedAt: { type: string, example: "8/1/2025, 12:04:40 am" } runId: { type: string, example: "748a9995-9749-4bf1-a235-88dc61c2dd85" } runByUserId: { type: string, nullable: true } runByScheduleId: { type: string, nullable: true } runByAPI: { type: boolean, example: true } data: type: array items: { type: object } screenshot: { type: string, nullable: true } ``` -------------------------------- ### Maxun Documentation Repository Source: https://docs.maxun.dev/development/repo Details the repository for the Maxun documentation website. ```text Maxun Docs Repository: https://github.com/getmaxun/maxun_docs ``` -------------------------------- ### Maxun Webhook: Run Finished Event Source: https://docs.maxun.dev/api/webhooks Details the payload schema and provides an example for the 'run finished' webhook event. This event is triggered when a robot run completes successfully. The payload includes details about the robot, run, and extracted data. ```APIDOC Event: Run finished Trigger: When a robot run finishes successfully. Payload Schema: Field | Type | Description ---|---|--- event_type | string | Type of event timestamp | string | ISO timestamp when the webhook was triggered webhook_id | string | Unique ID for this webhook robot_id | string | Unique identifier for the robot run_id | string | Unique identifier for the run robot_name | string | Name of the robot status | string | "success" or "failed" started_at | string | ISO timestamp when the run started finished_at | string | ISO timestamp when the run ended extracted_data | object | Present only when run is successful error | object | Present only when run fails metadata | object | Metadata like browser ID and user ID Example: Successful Run { "event_type": "run_completed", "timestamp": "2025-05-29T15:53:15.595Z", "webhook_id": "1b480cbd-c43b-4541-a69e-92d82000d992", "data": { "robot_id": "d453def3-800a-4b6c-ba31-854cf8dd8d26", "run_id": "110c4dae-c39b-4b30-a932-eff1022e4bb0", "robot_name": "Test Robot", "status": "test", "started_at": "2025-05-29T15:52:30.595Z", "finished_at": "2025-05-29T15:53:15.595Z", "extracted_data": { "captured_texts": [ { "Product Name": "MacBook Pro 16-inch M3 Max", "Price": "$3,999.00", "Rating": "4.8/5 stars", } ], "captured_lists": { "list_1": [ { "Rank": "1", "Product": "MacBook Air M2", "Category": "Laptops", "Units Sold": "2,847", "Revenue": "$2,847,000" } ], "list_0": [ { "Customer": "Sarah M.", "Rating": "5 stars", "Review": "Absolutely love my new MacBook! The battery life is incredible and the performance is outstanding.", "Date": "2024-12-15", "Verified Purchase": "Yes" } ] }, "total_rows": 5, "captured_texts_count": 3, "captured_lists_count": 2, "screenshots_count": 5 }, "metadata": { "browser_id": "d27ace57-75cb-441c-8589-8ba34e52f7d1", "user_id": 108 } } } ``` -------------------------------- ### Robot Scheduling Options Source: https://docs.maxun.dev/robot/robot-schedule Details the various options available for scheduling robot execution. This includes setting the frequency (e.g., every hour, day), specifying a start date/time, defining an 'in between' time window for execution, and setting the relevant timezone. ```APIDOC Robot Scheduling: - Run once every: - Frequency: Minutes, Hours, Days, Weeks, Months - Start from: - Day of the week - In Between: - Specified time interval - Timezone: - Applicable timezone for scheduling ``` -------------------------------- ### Maxun MCP Environment Variables Source: https://docs.maxun.dev/mcp/tools Environment variables required for configuring the Maxun MCP Server. MCP_API_KEY is mandatory for authentication, while BACKEND_URL and NODE_ENV are optional for specifying the backend and controlling logging. ```APIDOC MCP_API_KEY: Your Maxun API key for authentication | Required BACKEND_URL: The Maxun backend URL (defaults to ) | No NODE_ENV: Environment mode (set to 'production' to disable logging) | No ``` -------------------------------- ### Maxun Core Package Source: https://docs.maxun.dev/development/repo Information about the Maxun core package, which is available on NPM. ```text `maxun-core`: Maxun core. Available on [NPM](https://www.npmjs.com/package/maxun-core). ``` -------------------------------- ### Run Failed Webhook Event Example Source: https://docs.maxun.dev/api/webhooks This JSON payload represents a webhook event triggered when a robot run fails. It includes details about the robot, the run, the error encountered, and associated metadata. This event is crucial for monitoring and debugging automated processes. ```JSON { "event_type": "run_failed", "timestamp": "2025-05-29T15:53:15.595Z", "webhook_id": "1b480cbd-c43b-4541-a69e-92d82000d992", "data": { "robotId": "d453def3-800a-4b6c-ba31-854cf8dd8d26", "runId": "110c4dae-c39b-4b30-a932-eff1022e4bb0", "robotName": "Test Robot", "status": "failed", "error": { "message": "Timeout exceeded while waiting for element", "type": "TimeoutError", "stack": "TimeoutError: ...\n at async Page.waitForSelector..." }, "metadata": { "browserId": "d27ace57-75cb-441c-8589-8ba34e52f7d1", "userId": 108 } } } ``` -------------------------------- ### Maxun Integrations Source: https://docs.maxun.dev/cloud-vs-oss Lists common integrations supported by both Maxun Cloud and Self-Hosted versions, including Webhooks, Google Sheets, Airtable, and MCP (Model Context Protocol). ```APIDOC Feature | Cloud | Self-Hosted ---|---|--- Webhooks | βœ… | βœ… Google Sheets | βœ… | βœ… Airtable | βœ… | βœ… MCP (Model Context Protocol) | βœ… | βœ… ``` -------------------------------- ### Run Robot by ID Source: https://docs.maxun.dev/api/run-api Initiates a new robot run using its ID. This endpoint is used to execute a robot and capture its data. It supports webhook notifications for completion status and offers long polling as an alternative. The response includes details of the started run. ```APIDOC POST /api/robots/{id}/runs Description: Executes a robot by its unique identifier and initiates data capture. Parameters: id (required, string): The unique identifier of the robot to be executed. Responses: 200 OK: Description: Robot run initiated successfully. Content: application/json: Schema: type: object properties: statusCode: { type: integer, example: 200 } messageCode: { type: string, example: "success" } run: type: object properties: id: { type: string, example: "1ffbc139-6b16-4164-a61e-d4813c300a66" } status: { type: string, example: "success" } name: { type: string, example: "10 post link tree" } robotId: { type: string, example: "0a3acb0f-4928-483b-8610-35049efa90fd" } startedAt: { type: string, example: "8/1/2025, 12:04:24 am" } finishedAt: { type: string, example: "8/1/2025, 12:04:40 am" } runId: { type: string, example: "748a9995-9749-4bf1-a235-88dc61c2dd85" } runByUserId: { type: string, nullable: true } runByScheduleId: { type: string, nullable: true } runByAPI: { type: boolean, example: true } data: type: array items: { type: object } screenshot: { type: string, nullable: true } 401 Unauthorized: Description: Authentication failed. Content: application/json: Schema: type: object properties: ok: { type: boolean, example: false } error: { type: string, example: "Unauthorized" } 500 Internal Server Error: Description: An error occurred while processing the request. Content: application/json: Schema: type: object properties: statusCode: { type: integer, example: 500 } messageCode: { type: string, example: "error" } message: { type: string, example: "Failed to run robot" } ``` -------------------------------- ### Maxun Core Capabilities Source: https://docs.maxun.dev/cloud-vs-oss Details the core extraction functionalities available in both Maxun Cloud and Self-Hosted versions. This includes unlimited robots, runs, and websites, along with API access, monitoring, and export options. ```APIDOC Feature | Cloud | Self-Hosted ---|---|--- Robots | Unlimited | Unlimited Runs | Unlimited | Unlimited Websites | Unlimited | Unlimited Workspaces | Unlimited | 1 API Access | βœ… | βœ… Monitoring | βœ… | βœ… Export | βœ… (CSV, JSON) | βœ… (CSV, JSON) Robot Duplication | βœ… | βœ… ``` -------------------------------- ### Git Branching and Pushing Source: https://docs.maxun.dev/development/contributing Steps for creating a new branch, making changes, and pushing them to the remote repository. ```git git checkout develop git pull origin develop git checkout -b feature/new-feature # Make your changes git add . git commit -m "feat(api): Add new endpoint for user data" git push origin feature/new-feature ``` -------------------------------- ### Robot Options Source: https://docs.maxun.dev/category/robots Covers the various options available for configuring Maxun robots. This section details the settings and parameters that can be adjusted to customize robot behavior. ```markdown ## [πŸ“„οΈ Robot Options Maxun Robot Options](https://docs.maxun.dev/robot/robot-options) ``` -------------------------------- ### Maxun Environment Variables Configuration Source: https://docs.maxun.dev/installation/environment_variables This section details the environment variables necessary for configuring Maxun. It covers mandatory variables for core functionality like networking, database connections, and security, as well as optional variables for integrations and telemetry. ```APIDOC Environment Variables: BACKEND_PORT: Yes | Port to run backend on. Needed for Docker setup. Default value: 8080 FRONTEND_PORT: Yes | Port to run frontend on. Needed for Docker setup. Default value: 5173 BACKEND_URL: Yes | URL to run backend on. Default value: http://localhost:8080 VITE_BACKEND_URL: Yes | URL used by frontend to connect to backend. Default value: http://localhost:8080 PUBLIC_URL: Yes | URL to run frontend on. Default value: http://localhost:5173 VITE_PUBLIC_URL: Yes | URL used by backend to connect to frontend. Default value: http://localhost:5173 JWT_SECRET: Yes | Secret key used to sign and verify JSON Web Tokens (JWTs) for authentication. If Not Set: JWT authentication will not work. DB_NAME: Yes | Name of the Postgres database to connect to. If Not Set: Database connection will fail. DB_USER: Yes | Username for Postgres database authentication. If Not Set: Database connection will fail. DB_PASSWORD: Yes | Password for Postgres database authentication. If Not Set: Database connection will fail. DB_HOST: Yes | Host address where the Postgres database server is running. If Not Set: Database connection will fail. DB_PORT: Yes | Port number used to connect to the Postgres database server. If Not Set: Database connection will fail. ENCRYPTION_KEY: Yes | Key used for encrypting sensitive data (proxies, passwords). If Not Set: Encryption functionality will not work. SESSION_SECRET: No | A strong, random string used to sign session cookies. If Not Set: Uses default secret. Recommended to define your own session secret to avoid session hijacking. MINIO_ENDPOINT: Yes | Endpoint URL for MinIO, to store Robot Run Screenshots. If Not Set: Connection to MinIO storage will fail. MINIO_PORT: Yes | Port number for MinIO service. If Not Set: Connection to MinIO storage will fail. MINIO_CONSOLE_PORT: No | Port number for MinIO WebUI service. Needed for Docker setup. If Not Set: Cannot access MinIO Web UI. MINIO_ACCESS_KEY: Yes | Access key for authenticating with MinIO. If Not Set: MinIO authentication will fail. GOOGLE_CLIENT_ID: No | Client ID for Google OAuth, used for Google Sheet integration authentication. If Not Set: Google login will not work. GOOGLE_CLIENT_SECRET: No | Client Secret for Google OAuth. If Not Set: Google login will not work. GOOGLE_REDIRECT_URI: No | Redirect URI for handling Google OAuth responses. If Not Set: Google login will not work. AIRTABLE_CLIENT_ID: No | Client ID for Airtable, used for Airtable integration authentication. If Not Set: Airtable login will not work. AIRTABLE_REDIRECT_URI: No | Redirect URI for handling Airtable OAuth responses. If Not Set: Airtable login will not work. MAXUN_TELEMETRY: No | Disables telemetry to stop sending anonymous usage data. Keeping it enabled helps us understand how the product is used and assess the impact of any new changes. Please keep it enabled. If Not Set: Telemetry data will not be collected. ``` -------------------------------- ### Maxun Pre-trained Robots & AI Features Source: https://docs.maxun.dev/cloud-vs-oss Compares the availability of pre-trained robots and AI features. Maxun Cloud provides over 100 auto robots and AI features, which are not available in the self-hosted version. ```APIDOC Feature | Cloud | Self-Hosted ---|---|--- 100+ Auto Robots | βœ… | ❌ AI Features | βœ… | ❌ ``` -------------------------------- ### Creating a Pull Request on GitHub Source: https://docs.maxun.dev/development/contributing Instructions for creating a new pull request on GitHub after pushing your changes. ```github 1. Go to the repository on GitHub. 2. Navigate to the `Pull Requests` tab. 3. Click `New pull request`. 4. Select your branch as the 'compare' branch and 'develop' as the 'base' branch. 5. Provide a descriptive title and a clear description of your changes. 6. Add relevant screenshots or GIFs if applicable. ``` -------------------------------- ### Maxun Robot Actions Source: https://docs.maxun.dev/faq-robot Maxun robots can perform a variety of actions on webpages before extracting data. These actions include opening webpages, logging in, interacting with buttons and forms, selecting options from various input types, and taking screenshots. ```text Open a webpage Log in Click on buttons Fill out a form Select from a dropdown menu, radios, checkboxes, dates, times, etc. Extract structured data into a spreadsheet Take screenshots ``` -------------------------------- ### Maxun BYOP Proxy Configuration Source: https://docs.maxun.dev/byop Details on configuring HTTP and SOCKS proxies within the self-hosted Maxun platform. Currently, proxies are set at the user level, but per-robot configuration is planned. The system supports authenticated proxies requiring username and password, with all sensitive details encrypted and stored securely. ```APIDOC Proxy Configuration: Type: HTTP, SOCKS Scope: Per User (Per Robot coming soon) Authentication: Supports username/password Security: Details are encrypted and stored securely. Automatic Proxy Rotation: Availability: Maxun Cloud only (Roadmap for self-hosted) ``` -------------------------------- ### API Responses for Run Operations Source: https://docs.maxun.dev/api/run-api Details the possible responses from the run API, including success and error cases. The 200 response provides comprehensive run details, while the 404 response indicates a run was not found. ```APIDOC 200 OK: Description: Run details. Media Type: application/json Example Value Schema: { "statusCode": 200, "messageCode": "success", "run": { "id": "1ffbc139-6b16-4164-a61e-d4813c300a66", "status": "success", "name": "10 post link tree", "robotId": "0a3acb0f-4928-483b-8610-35049efa90fd", "startedAt": "8/1/2025, 12:04:24 am", "finishedAt": "8/1/2025, 12:04:40 am", "runId": "748a9995-9749-4bf1-a235-88dc61c2dd85", "runByUserId": null, "runByScheduleId": null, "runByAPI": true, "data": [ { "Label 1": "Linktree’s 2023 Creator Report: : How to Navigate Attention Overload and Break Through the Noise", "Label 2": "27 September, 5 mins" }, { "Label 1": "Here’s what we were linking to on Linktree in 2022", "Label 2": "08 December, 5 mins" } ], "screenshot": null } } 404 Not Found: Description: Run not found. Media Type: application/json Example Value Schema: { "statusCode": 404, "messageCode": "not_found", "message": "Run with id not found." } ```