Skip to content

Detection sources

Wells Riley edited this page Sep 27, 2026 · 12 revisions

Featherframe shows the species your detector hears. Choose your detector in your Featherframe webapp under Detection source, then follow its steps below.

Note

Featherframe only reads your detections. It never changes your detector's settings or data.

Source Featherframe Cloud Self-hosted
BirdWeather Yes Yes
BirdNET-Pi Yes Yes
BirdNET-Go Yes Yes
Local database No Yes

BirdWeather

Featherframe checks your BirdWeather station for new detections.

  1. Set Source to BirdWeather.
  2. Paste your station's URL or ID from app.birdweather.com.
  3. Click Test connection, then Save.

BirdNET-Pi

BirdNET-Pi sends each detection to Featherframe as a notification.

  1. In your Featherframe webapp, set Source to BirdNET-Pi. It shows an Apprise URL and a notification body, each with a copy button.
  2. In BirdNET-Pi, go to Tools → Settings → Notifications.
  3. Paste the Apprise URL.
  4. Set the notification body to the body from the Featherframe webapp, exactly as shown.
  5. Save in BirdNET-Pi, then click Save in the Featherframe webapp.

The Featherframe webapp shows how many detections have arrived. Send a test notification from BirdNET-Pi to check. On Featherframe Cloud, a test or a detection can take up to 5 minutes to show, and during quiet hours it waits until they end.

The URL ends with a code that only your Featherframe knows. To make a new one, click the refresh button next to the URL, then paste the new URL into BirdNET-Pi. The old URL stops working.

BirdNET-Go

BirdNET-Go sends each detection to Featherframe through a webhook.

Note

You need a BirdNET-Go release from October 2025 or later. If Rules asks you to update your database, update it first from BirdNET-Go's System page.

  1. In your Featherframe webapp, set Source to BirdNET-Go, then click Save. It shows a webhook URL with a copy button.

  2. In BirdNET-Go, go to Settings → Notifications → Channels and turn on Enable Push Notifications.

  3. Click Add Provider and fill it in:

    • Service: Webhook
    • Webhook URL: the URL from the Featherframe webapp
    • HTTP Method: POST
    • Authentication: None
    • Provider Name: Featherframe
    • Notification Types: Bird detections only

    Click Save Provider.

  4. In your Featherframe webapp, open Setup instructions, and click Rule file in step 3 to download it. In BirdNET-Go, open the Rules tab, click Import, and choose the downloaded file.

    To create the rule yourself instead, click New Rule:

    • Name: Featherframe
    • Object Type: Detection
    • Event: Detection Occurred
    • Actions: Push notification. Turn off In-app notification, or every detection also lands in BirdNET-Go's notification bell.
    • Cooldown (seconds): 0

    Click Create.

Important

Without this rule, BirdNET-Go sends only species it has never heard before.

To check the connection, click Test Provider on the Channels tab. Reload the Featherframe webapp: it shows Test received, and then how many detections have arrived. On Featherframe Cloud, this can take up to 5 minutes, and during quiet hours it waits until they end.

As with BirdNET-Pi, the refresh button next to the URL makes a new one. Paste it into BirdNET-Go afterward.

Local database

When Featherframe runs on the same device as BirdNET-Pi, it can read BirdNET-Pi's database file directly. Use this only if you can't set up BirdNET-Pi notifications.

  1. Set Source to Local database.
  2. Enter the database's location. The default is ~/BirdNET-Pi/scripts/birds.db.
  3. Click Test connection, then Save.

Hide a species

In your Featherframe webapp, open Blocked species under Detection source, and enter one common or Latin name per line.

Set the confidence threshold in your detector, not in Featherframe.

If a source doesn't connect, see Troubleshooting.

Clone this wiki locally