---
updatedAt: 2026-06-15T14:45:23.000Z
agentTools:
  projectIndex: https://developers.lokalise.com/llms.txt
---

# List all projects

Retrieves a list of projects available to the user, authorized with a token. This endpoint supports cursor pagination for better performance with large datasets. When using cursor pagination, the response will include a <code>nextCursor</code> value in the response headers when more data is available. Continue making requests with the <code>nextCursor</code> value until no <code>nextCursor</code> is returned, indicating all data has been retrieved. Note that cursor pagination returns projects in creation order rather than by name.

Requires <code>read_projects</code> OAuth access scope.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Default projects",
    "version": "1.0.0",
    "description": "Describes the API for default projects.\\n\\n**Project Type Compatibility**: Many API endpoints have different compatibility with project types:\\n- **Software projects** (localization_files) - Support individual key management, no file deletion\\n- **Documents projects** (paged_documents) - Support file management, no individual key operations\\n- **Marketing projects** (content_integration, marketing, marketing_integrations) - Mixed support depending on specific type\\n\\nBranching is only supported for Software projects. See individual endpoint documentation for specific compatibility information."
  },
  "servers": [
    {
      "url": "https://api.lokalise.com/api2"
    }
  ],
  "paths": {
    "/projects": {
      "get": {
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Total-Count": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Pagination-Next-Cursor": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "projects": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Projects"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "summary": "List all projects",
        "operationId": "List all projects",
        "description": "Retrieves a list of projects available to the user, authorized with a token. This endpoint supports cursor pagination for better performance with large datasets. When using cursor pagination, the response will include a <code>nextCursor</code> value in the response headers when more data is available. Continue making requests with the <code>nextCursor</code> value until no <code>nextCursor</code> is returned, indicating all data has been retrieved. Note that cursor pagination returns projects in creation order rather than by name.\n\nRequires <code>read_projects</code> OAuth access scope.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "filter_team_id",
            "in": "query",
            "description": "Limit results to team ID.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "filter_names",
            "in": "query",
            "description": "One or more project names to filter by (comma separated).",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_statistics",
            "in": "query",
            "description": "Whether to include project statistics. Possible values are <code>1</code> and <code>0</code>.",
            "required": false,
            "example": "1",
            "schema": {
              "type": "number",
              "enum": [
                "0",
                "1"
              ]
            }
          },
          {
            "name": "include_settings",
            "in": "query",
            "description": "Whether to include project settings. Possible values are <code>1</code> and <code>0</code>.",
            "required": false,
            "example": "1",
            "schema": {
              "type": "number",
              "enum": [
                "0",
                "1"
              ]
            }
          },
          {
            "name": "pagination",
            "in": "query",
            "description": "Type of pagination. Possible values are <code>offset</code> and <code>cursor</code>. The default value is <code>offset</code>. Cursor pagination is performance-optimized and does not count total records or calculate remaining pages. When using cursor pagination, continue making requests until no <code>nextCursor</code> is returned in the response headers.",
            "required": false,
            "example": "offset",
            "schema": {
              "type": "string",
              "enum": [
                "offset",
                "cursor"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of items to include (max 5000).",
            "required": false,
            "example": "100",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Return results starting from this page.",
            "required": false,
            "example": "1",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Return results starting from this cursor. When using cursor pagination, this parameter should contain the <code>nextCursor</code> value from the previous response. Continue pagination until no <code>nextCursor</code> is returned in the response headers.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Projects": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "description": "A unique project identifier."
          },
          "project_type": {
            "type": "string",
            "description": "Project type descriptor. Allowed values are <code>localization_files</code> or <code>paged_documents</code>."
          },
          "name": {
            "type": "string",
            "description": "Project name."
          },
          "description": {
            "type": "string",
            "description": "Description of the project."
          },
          "created_at": {
            "type": "string",
            "description": "Date of project creation."
          },
          "created_at_timestamp": {
            "type": "number",
            "description": "Unix timestamp when project was created."
          },
          "created_by": {
            "type": "number",
            "description": "An identifier of a user who has created the project."
          },
          "created_by_email": {
            "type": "string",
            "description": "An e-mail of a user who has created the project."
          },
          "team_id": {
            "type": "number",
            "description": "A unique identifier of the team, the project belongs to."
          },
          "base_language_id": {
            "type": "number",
            "description": "A unique identifier of the project default language."
          },
          "base_language_iso": {
            "type": "string",
            "description": "A language/locale code of the project default language."
          },
          "settings": {
            "type": "object",
            "properties": {
              "per_platform_key_names": {
                "type": "boolean",
                "description": "If enabled project has different key names for different platforms."
              },
              "reviewing": {
                "type": "boolean",
                "description": "If enabled contributors has reviewer access for project."
              },
              "auto_toggle_unverified": {
                "type": "boolean",
                "description": "If enabled Lokalise will automatically mark translations Unverified in case translation of base language was changed."
              },
              "offline_translation": {
                "type": "boolean",
                "description": "If enabled translators are able to download and upload translations as XLIFF files from the Editor."
              },
              "key_editing": {
                "type": "boolean",
                "description": "If enabled keys are allowed to be modified."
              },
              "inline_machine_translations": {
                "type": "boolean",
                "description": "If enabled inline machine translations are enabled to all project users."
              },
              "branching": {
                "type": "boolean",
                "description": "If enabled then branching will be available."
              },
              "segmentation": {
                "type": "boolean",
                "description": "If enabled then segmentation will be available."
              },
              "custom_translation_statuses": {
                "type": "boolean",
                "description": "If enabled then custom translation statuses will be available."
              },
              "custom_translation_statuses_allow_multiple": {
                "type": "boolean",
                "description": "If enabled then multiple custom translation statuses will be allowed."
              },
              "contributor_preview_download_enabled": {
                "type": "boolean",
                "description": "If enabled then translators will be allowed to preview content by downloading target files from the Editor"
              }
            },
            "description": "An object containing project settings."
          },
          "statistics": {
            "type": "object",
            "properties": {
              "progress_total": {
                "type": "number",
                "description": "Overall percent of project progress."
              },
              "keys_total": {
                "type": "number",
                "description": "Count of keys in the project."
              },
              "team": {
                "type": "number",
                "description": "Team members count in the project."
              },
              "base_words": {
                "type": "number",
                "description": "Count of words in a base language of the project."
              },
              "qa_issues_total": {
                "type": "number",
                "description": "Overall count of QA issues in the project."
              },
              "qa_issues": {
                "type": "object",
                "properties": {
                  "not_reviewed": {
                    "type": "number",
                    "description": "Count of not reviewed translations."
                  },
                  "unverified": {
                    "type": "number",
                    "description": "Count of unverified translations."
                  },
                  "spelling_grammar": {
                    "type": "number",
                    "description": "Count of translations with spelling and/or grammar errors."
                  },
                  "inconsistent_placeholders": {
                    "type": "number",
                    "description": "Count of translations with inconsistent placeholders (source vs target)."
                  },
                  "inconsistent_html": {
                    "type": "number",
                    "description": "Count of translations with inconsistent HTML tags (source vs target)."
                  },
                  "different_number_of_urls": {
                    "type": "number",
                    "description": "Count of translations with different number of URLs (source vs target)."
                  },
                  "different_urls": {
                    "type": "number",
                    "description": "Count of translations with different URLs (source vs target)."
                  },
                  "leading_whitespace": {
                    "type": "number",
                    "description": "Count of translations with leading whitespace."
                  },
                  "trailing_whitespace": {
                    "type": "number",
                    "description": "Count of translations with trailing whitespace."
                  },
                  "different_number_of_email_address": {
                    "type": "number",
                    "description": "Count of translations with different number of email address (source vs target)."
                  },
                  "different_email_address": {
                    "type": "number",
                    "description": "Count of translations with different email address (source vs target)."
                  },
                  "different_brackets": {
                    "type": "number",
                    "description": "Count of translations with different brackets (source vs target)."
                  },
                  "different_numbers": {
                    "type": "number",
                    "description": "Count of translations with different numbers (source vs target)."
                  },
                  "double_space": {
                    "type": "number",
                    "description": "Count of translations with double spaces (target)."
                  },
                  "special_placeholder": {
                    "type": "number",
                    "description": "Count of invalid use of [VOID], [TRUE], [FALSE] placeholders (target)."
                  },
                  "unbalanced_brackets": {
                    "type": "number",
                    "description": "Count of unbalanced brackets (target)."
                  }
                },
                "description": "An object containing count for each QA issue type."
              },
              "languages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "language_id": {
                      "type": "number",
                      "description": "A unique language identifier in the system."
                    },
                    "language_iso": {
                      "type": "string",
                      "description": "Language/locale code."
                    },
                    "project_language_id": {
                      "type": "string",
                      "description": "Unique language identifier for connecting language and project."
                    },
                    "project_language_uuid": {
                      "type": "string",
                      "description": "Unique language identifier (UUID) for connecting language and project."
                    },
                    "progress": {
                      "type": "number",
                      "description": "Translated keys percent."
                    },
                    "words_to_do": {
                      "type": "number",
                      "description": "Count of words remaining to translate from projects base language."
                    }
                  }
                },
                "description": "An array of project languages with progress percent."
              }
            },
            "description": "An object containing project statistics, QA issues and project languages progress."
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Token"
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ]
}
```