A community-maintained directory of Bluesky Personal Data Servers (PDS). pdslist.wisp.place
JavaScript 55.5%
HTML 33.3%
CSS 11.2%
19 1 0

Clone this repository

https://tangled.org/danielmorrisey.com/pdslist
git@tangled.org:danielmorrisey.com/pdslist

For self-hosted knots, clone URLs may differ based on your setup.

README.md

PDSList#

A community-maintained directory of Bluesky Personal Data Servers (PDS). https://pds.madebydanny.uk/xrpc/com.atproto.sync.getBlob?did=did:plc:l37td5yhxl2irrzrgvei4qay&cid=bafkreib3sximl3c3nbz55ihz4tvnkdix7fub74a23rxt2qeboit3t6q5ku

JSON Structure#

The pdslist.json file contains an array of PDS server objects. Each object has the following structure:

JSON Structure#

The pdslist.json file contains an array of PDS server objects with the following fields:

Field Type Required Description
url string The base URL of your PDS server (HTTPS only)
supportedHandles array Domain patterns your PDS supports (e.g., *.example.com)
maintainer string Bluesky handle of the maintainer (@handle.domain)
contactEmail string ⚠️ Contact email for the administrator
tosUrl string ⚠️ Terms of Service URL
privacyUrl string ⚠️ Privacy Policy URL
inviteCodeRequired boolean Whether invite codes are required

Example:

{
  "url": "https://pds.example.com",
  "supportedHandles": ["*.example.com"],
  "maintainer": "@admin.example.com",
  "contactEmail": "admin@example.com",
  "tosUrl": "https://pds.example.com/tos",
  "privacyUrl": "https://pds.example.com/privacy",
  "inviteCodeRequired": true
}

Removals#

  • Remove: Submit an issue titled "Remove [your-pds-name]" or create a PR removing your entry

License & Support#

Open source and community-maintained. For questions, open an issue

Disclaimer: This is a community list. Always review server terms and privacy policies before joining. { "url": "https://ypds.example.com", "supportedHandles": [".example.com", ".example.net"], "maintainer": "@your-handle.example.com", "tosUrl": "https://pds.example.com/terms", "privacyUrl": "https://pds.example.com/privacy", "inviteCodeRequired": false }


### Field Descriptions

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | ✅ Yes | The base URL of your PDS server (must include https://) |
| `supportedHandles` | array of strings | ✅ Yes | Domain patterns for handles your PDS supports (e.g., `*.example.com`) |
| `maintainer` | string | ✅ Yes | Bluesky handle of the server maintainer (format: `@handle.domain.com`) |
| `contactEmail` | string | ⚠️ Optional | Contact email for the PDS administrator |
| `tosUrl` | string | ⚠️ Optional | URL to your Terms of Service page |
| `privacyUrl` | string | ⚠️ Optional | URL to your Privacy Policy page |
| `inviteCodeRequired` | boolean | ✅ Yes | Whether new users need an invite code to join (`true` or `false`) |

### Example Entry

```json
{
  "url": "https://pds.myserver.com",
  "supportedHandles": [
    "*.myserver.com",
    "*.myserver.org"
  ],
  "maintainer": "@admin.myserver.com",
  "contactEmail": "admin@myserver.com",
  "tosUrl": "https://pds.myserver.com/terms-of-service",
  "privacyUrl": "https://pds.myserver.com/privacy-policy",
  "inviteCodeRequired": true
}

Adding Your PDS#

We welcome additions to the directory! There are two ways to add your PDS:

Option 1: Submit a Tangled Issue#

  1. Go to the Issues page
  2. Click "New Issue"
  3. Add your PDS information:
    • PDS URL
    • Supported handles
    • Your maintainer handle
    • Contact email (optional)
    • Terms of Service URL (if available)
    • Privacy Policy URL (if available)
    • Whether invite codes are required
  4. Submit the issue

A maintainer will review your submission and add it to the list.

Option 2: Submit a Pull Request#

  1. Fork this repository
  2. Edit pdslist.json
  3. Add your PDS entry to the array following the structure above
  4. Ensure your JSON is valid (use a JSON validator)
  5. Commit your changes with a clear message: Add [your-pds-name] to directory
  6. Create a Pull Request with:
    • A clear title: "Add [your PDS name]"
    • Description of your PDS
    • Confirmation that you maintain the server

Submission Guidelines#

Do:

  • Use valid JSON formatting
  • Include all required fields
  • Use HTTPS URLs only
  • Provide accurate information
  • Test your PDS is accessible before submitting

Don't:

  • Submit inactive or offline servers
  • Include test or development servers
  • Use HTTP (non-secure) URLs
  • Submit duplicate entries

Review Process#

All submissions are reviewed by maintainers to ensure:

  • JSON is properly formatted
  • URLs are accessible and valid
  • Information is accurate
  • The PDS is actively maintained
  • Terms and privacy policies exist (if links provided)

Updating Your Entry#

If you need to update your PDS information:

  1. Submit an issue with "Update [your-pds-name]" as the title
  2. Or create a Pull Request with the updated information

Removing Your Entry#

To remove your PDS from the directory:

  1. Submit an issue with "Remove [your-pds-name]" as the title
  2. Or create a Pull Request removing your entry

Code of Conduct#

Please be respectful and professional in all interactions. This is a community resource for everyone.

License#

This project is open source and available for anyone to use and contribute to.

Support#

For questions or issues:

  • Open a Tangled Issue
  • Check existing issues for similar questions

Note: This is a community-maintained list. We cannot guarantee the availability, security, or policies of listed servers. Always review a server's terms and privacy policy before joining.