An n8n community node to interact with Algolia's Search API directly from your n8n workflows.
- Node.js v22 or higher
- npm
- n8n installed globally (
npm install n8n -g)
- Clone the repository:
git clone https://github.com/emirbelkahia/n8n-nodes-algolia.git
cd n8n-nodes-algolia- Install dependencies:
npm install- Build the project:
npm run build- Launch in development mode:
npm run devThis starts n8n on http://localhost:5678 with the Algolia node loaded and hot-reload enabled.
Once published to npm, users can install this node in three ways:
- In n8n, go to Settings → Community Nodes
- Click Install a Community Node
- Enter
n8n-nodes-algolia - Click Install
- Restart n8n
npm install -g n8n-nodes-algolia
n8n startcd ~/.n8n/custom
npm install n8n-nodes-algolia
# Restart n8nThe node requires the following credentials:
- Application ID: Your Algolia Application ID
- API Key: Your Algolia API Key
Always use an API key with ACLs (Access Control Lists) strictly aligned with your project's needs.
For this node (Search operation only):
- ✅ Recommended: Use a Search-only API Key or create a custom API key with only
searchpermission - ❌ Not recommended: Avoid using the Admin API Key in production workflows
- Log in to your Algolia Dashboard
- Go to Settings → API Keys
- Copy your Application ID
- Use the Search-only API Key or create a custom key with minimal required permissions
- In n8n, go to Credentials → New
- Search for Algolia API
- Enter your Application ID and API Key
- Click Create
Perform a search query on an Algolia index.
- Index Name: The name of the index to search
- Query: The search query text (can be empty to retrieve all results)
- Hits Per Page: Number of results per page (default: 20)
- Page: Page number (starts at 0)
- Attributes to Retrieve: Comma-separated list of attributes to retrieve
- Filters: Algolia filter expression
// Simple search
Index Name: "products"
Query: "laptop"
// Search with filters
Index Name: "products"
Query: "laptop"
Filters: "price < 1000 AND brand:Apple"
Hits Per Page: 10
// Retrieve all products from a category
Index Name: "products"
Query: ""
Filters: "category:electronics"
Attributes to Retrieve: "name,price,image"The node returns each result (hit) as a separate item in the n8n workflow. Each item contains all attributes of the Algolia object.
n8n-nodes-algolia/
├── credentials/
│ └── AlgoliaApi.credentials.ts # Credentials definition
├── nodes/
│ └── Algolia/
│ ├── Algolia.node.ts # Node logic
│ └── Algolia.node.json # Node metadata
├── icons/
│ └── algolia.svg # Node icon
├── dist/ # Compiled files (generated)
├── package.json # npm configuration
└── tsconfig.json # TypeScript configuration
| Script | Description |
|---|---|
npm run dev |
Launch n8n in development mode with hot-reload |
npm run build |
Compile TypeScript to JavaScript |
npm run build:watch |
Compile in watch mode |
npm run lint |
Check code with n8n linter |
npm run lint:fix |
Automatically fix linting issues |
- Modify the code in
nodes/Algolia/Algolia.node.tsorcredentials/AlgoliaApi.credentials.ts - Code is automatically recompiled (if
npm run devis running) - Refresh the browser (F5) to see changes in n8n
- Test the node in a workflow
This node uses n8n's programmatic approach rather than the declarative approach for more control over execution logic.
The node does not use the Algolia SDK (algoliasearch) but makes direct HTTP calls via this.helpers.httpRequest for the following reasons:
- n8n Cloud Compatibility: n8n Cloud doesn't allow community nodes with external npm dependencies for security reasons
- Package Size: Reduces final package size
- Simplicity: Algolia's REST API is straightforward and well-documented
All requests use:
- URL:
https://{appId}-dsn.algolia.net/1/... - Headers:
X-Algolia-Application-Id: Application IDX-Algolia-API-Key: API KeyContent-Type: application/json
- Single Operation: Currently only the Search operation is implemented
- No Advanced Management:
- No Rules management
- No Synonyms management
- No Replicas management
- No Batch Operations: Batch operations are not yet supported
If you wish to publish this node on n8n Cloud:
- ✅ Compatible: No external npm dependencies
- ✅ Compatible: Uses only
this.helpers.httpRequest ⚠️ To verify: Icon must be in the correct format⚠️ To verify: Linter must pass without errors
Operations planned for future versions:
- Object Operations: Add, Update, Partial Update, Delete, Get, Batch
- Index Operations: List, Create, Delete, Clear, Copy, Move
- Settings Operations: Get Settings, Set Settings
- Synonyms: Manage synonyms
- Rules: Manage rules
- API Keys: List, Create, Update, Delete API keys
- Check that
npm run devis running - Verify the build succeeded (
npm run build) - Refresh the browser page (F5)
- Check the console for errors
- Verify you created the Algolia credentials in n8n
- Check that Application ID and API Key are correct
- Verify the API Key has necessary permissions
- Check that the index exists in Algolia
- Verify the index name (case-sensitive)
- Check filters (Algolia syntax)
- Consult n8n logs for more details
- @n8n/node-cli - CLI for developing n8n nodes
- n8n Creator Portal - Submit your node for review
Contributions are welcome! To contribute:
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Emir Belkahia Customer Success Manager @ Algolia
- Website: emirbelkahia.com
- LinkedIn: linkedin.com/in/emirbelkahia
- GitHub: @emirbelkahia
For questions or issues:
- Open an issue
- Consult the n8n documentation
- Join the n8n community
