PHPackages                             needletail/needletail-craft - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. needletail/needletail-craft

ActiveCraft-plugin[Search &amp; Filtering](/categories/search)

needletail/needletail-craft
===========================

Needletail Search and Index package for Craft CMS

v5.1.3(1mo ago)0853—0%[1 PRs](https://github.com/needletail/needletail-craft/pulls)MITPHPCI failing

Since Jun 20Pushed 1mo agoCompare

[ Source](https://github.com/needletail/needletail-craft)[ Packagist](https://packagist.org/packages/needletail/needletail-craft)[ RSS](/packages/needletail-needletail-craft/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (82)Used By (0)

Needletail plugin for Craft CMS
===============================

[](#needletail-plugin-for-craft-cms)

Needletail Search and Index package for Craft 3.x

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3 or 4

Installation
------------

[](#installation)

To install the plugin, follow these instructions.

1. Open your terminal and go to your Craft project:

    ```
     cd /path/to/project

    ```
2. Then tell Composer to load the plugin:

    ```
     composer require needletail/needletail-craft

    ```
3. In the Control Panel, go to Settings → Plugins and click the “Install” button for Needletail.
4.

Brought to you by [Needletail](https://needletail.io)

Custom Twig file
----------------

[](#custom-twig-file)

You can create a custom twig file to render the results. To do this, create a new file in your templates folder called `_needletail/[[BUCKET_NAME]].twig`. This file will be used to render the search results. You can use the following variables in this file:

- `entry` - The record that will be rendered

### Example:

[](#example)

```
{
   "title": "{{ entry.title }}",
   "slug": "{{ entry.slug }}",
   "url": "{{ entry.getUrl() }}",
   "date": "{{ entry.postDate|date('Y-m-d') }}",
   "author": "{{ entry.author }}"
}
```

### Testing:

[](#testing)

For easy testing you can create a new twig file in your templates folder `[[BUCKET_NAME]].json.twig` and add the following code:

```
{% set entry = craft.entries({id: [[ENTRY_ID]]}).one() %}

{% include "_needletail/[[BUCKET_NAME]].twig" %}
```

You can then call `$PRIMARY_SITE_URL/[[BUCKET_NAME]].json` in your browser to see the rendered result.

> **Note!** Make sure to replace `[[BUCKET_NAME]]` and `[[ENTRY_ID]]` with the correct values.

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance89

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~13 days

Total

74

Last Release

55d ago

Major Versions

v4.3.0 → v5.0.02024-07-24

v3.3.0 → v5.0.42024-11-04

v4.3.2 → v5.0.62025-01-21

v4.3.3 → v5.0.72026-01-19

v4.4.0 → v5.1.32026-03-24

### Community

Maintainers

![](https://www.gravatar.com/avatar/b0f5e9c6b1a109eb2034f86828480c3640c058f2b7d81a83c9c193f01b8cdbf2?d=identicon)[needletail](/maintainers/needletail)

---

Top Contributors

[![Edsardio](https://avatars.githubusercontent.com/u/10669035?v=4)](https://github.com/Edsardio "Edsardio (37 commits)")[![jacotijssen](https://avatars.githubusercontent.com/u/8997440?v=4)](https://github.com/jacotijssen "jacotijssen (34 commits)")[![EsdertCO](https://avatars.githubusercontent.com/u/64210927?v=4)](https://github.com/EsdertCO "EsdertCO (8 commits)")

---

Tags

cmsCraftcraftcmscraft-pluginneedletail

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/needletail-needletail-craft/health.svg)

```
[![Health](https://phpackages.com/badges/needletail-needletail-craft/health.svg)](https://phpackages.com/packages/needletail-needletail-craft)
```

###  Alternatives

[studioespresso/craft-scout

Craft Scout provides a simple solution for adding full-text search to your entries. Scout will automatically keep your search indexes in sync with your entries.

80136.8k](/packages/studioespresso-craft-scout)[trendyminds/algolia

Easily pull search results from Algolia into your Craft CMS website

1332.2k](/packages/trendyminds-algolia)[la-haute-societe/craft-elasticsearch

Bring the power of Elasticsearch to your Craft CMS projects.

1712.4k](/packages/la-haute-societe-craft-elasticsearch)[swixpop/locate

Harness the power of the Google Autocomplete API inside Craft. Adds an autocomplete search box to Craft entries.

154.8k](/packages/swixpop-locate)[swishdigital/faceted-navigation

Provides faceted navigation of entries, using categories, which allows site users to narrow the list of entries they see by applying multiple filters (think Amazon or eBay left sidebar).

152.4k](/packages/swishdigital-faceted-navigation)[fork/craft-elastica

A plugin to connect to Elasticsearch and persist elements via hooks

101.8k](/packages/fork-craft-elastica)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
