List Projects
GET
/api/v1/projects
Get a paginated list of decentralized identity projects and consortia. Includes basic information about each project along with managing entity details and scoring metrics. In depth details for each project or Consortia can be queried by ID using /api/v1/projects/{id}
Request
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page |
integer | No | 1 | Page number (1-indexed) |
per_page |
integer | No | 20 | Results per page (1-100) |
q |
string | No | - | Search/filter text for project names |
type |
string | No | - | Filter by project type: "DID Project" or "Consortium" |
Example Requests
bash
# Get first page of projects
curl -X GET "https://www.weboftrust.org/api/v1/projects" \
-H "X-API-Key: YOUR_API_KEY"
# Search for projects containing "identity"
curl -X GET "https://www.weboftrust.org/api/v1/projects?q=identity" \
-H "X-API-Key: YOUR_API_KEY"
# Get only consortia, 50 per page
curl -X GET "https://www.weboftrust.org/api/v1/projects?type=Consortium&per_page=50" \
-H "X-API-Key: YOUR_API_KEY"
# Get page 3 of results
curl -X GET "https://www.weboftrust.org/api/v1/projects?page=3&per_page=20" \
-H "X-API-Key: YOUR_API_KEY"
Response
Success Response (200 OK)
Response Headers
| Header | Value | Description |
|---|---|---|
X-License |
CC-BY-4.0 | License identifier |
X-Attribution |
Web of Trust Map - Key State Capital | Required attribution |
Cache-Control |
public, max-age=30, s-maxage=120, stale-while-revalidate=600 | Caching directives |
Response Schema
typescript
interface ProjectListResponse {
data: ProjectSummary[];
pagination: {
page: number; // Current page (1-indexed)
per_page: number; // Items per page
total: number; // Total number of projects
total_pages: number; // Total number of pages
};
}
interface ProjectSummary {
id: number;
title: string;
type: "DID Project" | "Consortium";
website?: string;
logo_url?: string; // Full URL to project logo
status?: "Announced" | "Pilot" | "Launched" | "Discontinued" | "Active" | "Inactive";
launch_date?: string;
announcement_date?: string;
mission_statement?: string;
country?: { // Country information from managing entity
id: number;
name: string;
code: string; // ISO 3166-1 alpha-2 code
};
region?: string; // Geographic region name
managing_entity?: {
id: number;
name: string;
};
stats: {
total_links: number; // Total number of relationships
score: number; // Weighted importance score
};
}
Example Response
json
{
"data": [
{
"id": 118,
"title": "TradeTrust",
"type": "DID Project",
"website": "https://www.tradetrust.io/",
"logo_url": "https://weboftrust.org/icons/tradetrust.io.webp",
"status": "Launched",
"launch_date": "2019",
"announcement_date": "2019",
"mission_statement": "TradeTrust is a digital utility that comprises a set of globally-accepted standards and frameworks that connects governments and businesses to a public blockchain.",
"country": {
"id": 167,
"name": "Singapore",
"code": "SG"
},
"region": "Southeast Asia",
"managing_entity": {
"id": 36,
"name": "Infocomm Media Development Authority"
},
"stats": {
"total_links": 85,
"score": 12.5
}
},
{
"id": 325,
"title": "EU Digital Identity Wallet",
"type": "DID Project",
"website": "https://ec.europa.eu/digital-building-blocks/sites/display/EUDIGITALIDENTITYWALLET/EU+Digital+Identity+Wallet+Home",
"logo_url": null,
"status": "Pilot",
"launch_date": null,
"announcement_date": "2021",
"mission_statement": "The European Digital Identity Wallet will enable citizens to identify and authenticate online across the EU.",
"country": null,
"region": null,
"managing_entity": {
"id": 649,
"name": "European Commission"
},
"stats": {
"total_links": 122,
"score": 18.7
}
}
],
"pagination": {
"page": 1,
"per_page": 2,
"total": 446,
"total_pages": 223
}
}
Error Responses
400 Bad Request
Invalid query parameters
json
{
"error": {
"code": "invalid_parameter",
"message": "Invalid page parameter"
}
}
500 Internal Server Error
json
{
"error": {
"code": "internal_error",
"message": "Failed to fetch projects"
}
}
Field Descriptions
Project Fields
- status: Current project status
Announced- Project has been announced but not launchedPilot- Project is in pilot/testing phaseLaunched- Project is live and operationalDiscontinued- Project has been shut downActive- Consortium is activeInactive- Consortium is inactive
- logo_url: Automatically derived from website domain. Cached and optimized WebP format
- region: Geographic region based on the project's headquarters country
- stats.score: Calculated based on number and quality of connections to other nodes in the network
Pagination
- Default page size is 20 items
- Maximum page size is 100 items
- Pages are 1-indexed (first page is page=1)
- Total count includes all matching projects (considering filters)
Performance Tips
- Results are cached at the edge
- Use smaller page sizes for faster response times
- Consider using search parameter to reduce result set
- Logo URLs point to optimized WebP images for fast loading
Related Endpoints
- GET /projects/{id} - Get detailed information about a specific project
- GET /projects/{id}/relationships - Get all relationships for a project
- GET /search - Search across all resource types