Pi-hole website screenshot

Pi-hole

Pi-hole is an open source network-wide DNS sinkhole that blocks ads, tracking, and unwanted domains across all devices on a local network without requiring per-device software. It runs on lightweight hardware such as Raspberry Pi and offers a web admin interface plus a REST API (introduced in v6 via the pihole-FTL binary) for programmatic management of blocklists, allowlists, groups, clients, DNS settings, and live query logs.

1 APIs 0 Features
DNSAd BlockingNetwork SecurityPrivacyOpen SourceSelf-Hosted

APIs

Pi-hole REST API

REST API exposed by the pihole-FTL binary (v6+) for managing DNS blocklists, allowlists, groups, clients, configuration, and query logs. Returns JSON, uses standard HTTP verbs a...

Collections

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHubOrganization
GitHubOrganization
💻
Source Code
Source Code
🔗
FTL Source
FTL Source
🔗
Discourse Forum
Discourse Forum
🔗
Donate
Donate
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Pi-hole REST API
  version: 6.0.0
request:
  auth:
    type: apikey
    key: X-FTL-SID
    value: '{{X-FTL-SID}}'
    placement: header
items:
- info:
    name: Auth
    type: folder
  items:
  - info:
      name: Create a session
      type: http
    http:
      method: POST
      url: http://{piHoleHost}/api/auth
      body:
        type: json
        data: '{}'
    docs: 'Authenticate against Pi-hole using the admin password (or an

      application password) and receive a session identifier (SID) plus

      CSRF token. The SID is then sent on subsequent requests via the

      `X-FTL-SID` header, a `sid` query parameter, the request body, or

      a `sid` cookie (cookie requires `X-FTL-CSRF`).

      '
  - info:
      name: Log out and invalidate the current session
      type: http
    http:
      method: DELETE
      url: http://{piHoleHost}/api/auth
    docs: Log out and invalidate the current session
- info:
    name: Groups
    type: folder
  items:
  - info:
      name: List groups
      type: http
    http:
      method: GET
      url: http://{piHoleHost}/api/groups
    docs: List groups
  - info:
      name: Create a group
      type: http
    http:
      method: POST
      url: http://{piHoleHost}/api/groups
      body:
        type: json
        data: '{}'
    docs: Create a group
  - info:
      name: Delete a group
      type: http
    http:
      method: DELETE
      url: http://{piHoleHost}/api/groups/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Delete a group
- info:
    name: DNS
    type: folder
  items:
  - info:
      name: Get current DNS blocking status
      type: http
    http:
      method: GET
      url: http://{piHoleHost}/api/dns/blocking
    docs: Get current DNS blocking status
- info:
    name: Info
    type: folder
  items:
  - info:
      name: Get Pi-hole version information
      type: http
    http:
      method: GET
      url: http://{piHoleHost}/api/info/version
    docs: Get Pi-hole version information
bundled: true