---
title: "List all projects"
method: GET
path: "/projects"
tags: ["Projects"]
---

# List all projects

`GET /projects`

## Request

- Base URL: `https://api.lokalise.com/api2`
- URL: `https://api.lokalise.com/api2/projects`
- Auth: API key in header `X-Api-Token`

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: oldest first by default, or newest first with <code>sort=-created_at</code>.

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

## Query parameters

- `filter_team_id` number
- `filter_names` string
- `include_statistics` number
- `include_settings` number
- `pagination` 'offset' | 'cursor'
- `limit` integer
- `page` integer
- `cursor` string
- `sort` 'created_at' | '-created_at'

## Response `200`

OK

- object
  - `projects` Projects[]
    - `project_id` string: A unique project identifier.
    - `project_type` string: Project type descriptor. Allowed values are <code>localization_files</code> or <code>paged_documents</code>.
    - `name` string: Project name.
    - `description` string: Description of the project.
    - `created_at` string: Date of project creation.
    - `created_at_timestamp` number: Unix timestamp when project was created.
    - `created_by` number: An identifier of a user who has created the project.
    - `created_by_email` string: An e-mail of a user who has created the project.
    - `team_id` number: A unique identifier of the team, the project belongs to.
    - `base_language_id` number: A unique identifier of the project default language.
    - `base_language_iso` string: A language/locale code of the project default language.
    - `settings` object: An object containing project settings.
      - `per_platform_key_names` boolean: If enabled project has different key names for different platforms.
      - `reviewing` boolean: If enabled contributors has reviewer access for project.
      - `auto_toggle_unverified` boolean: If enabled Lokalise will automatically mark translations Unverified in case translation of base language was changed.
      - `offline_translation` boolean: If enabled translators are able to download and upload translations as XLIFF files from the Editor.
      - `key_editing` boolean: If enabled keys are allowed to be modified.
      - `inline_machine_translations` boolean: If enabled inline machine translations are enabled to all project users.
      - `branching` boolean: If enabled then branching will be available.
      - `segmentation` boolean: If enabled then segmentation will be available.
      - `custom_translation_statuses` boolean: If enabled then custom translation statuses will be available.
      - `custom_translation_statuses_allow_multiple` boolean: If enabled then multiple custom translation statuses will be allowed.
      - `contributor_preview_download_enabled` boolean: If enabled then translators will be allowed to preview content by downloading target files from the Editor
    - `statistics` object: An object containing project statistics, QA issues and project languages progress.
      - `progress_total` number: Overall percent of project progress.
      - `keys_total` number: Count of keys in the project.
      - `team` number: Team members count in the project.
      - `base_words` number: Count of words in a base language of the project.
      - `qa_issues_total` number: Overall count of QA issues in the project.
      - `qa_issues` object: An object containing count for each QA issue type.
        - `not_reviewed` number: Count of not reviewed translations.
        - `unverified` number: Count of unverified translations.
        - `spelling_grammar` number: Count of translations with spelling and/or grammar errors.
        - `inconsistent_placeholders` number: Count of translations with inconsistent placeholders (source vs target).
        - `inconsistent_html` number: Count of translations with inconsistent HTML tags (source vs target).
        - `different_number_of_urls` number: Count of translations with different number of URLs (source vs target).
        - `different_urls` number: Count of translations with different URLs (source vs target).
        - `leading_whitespace` number: Count of translations with leading whitespace.
        - `trailing_whitespace` number: Count of translations with trailing whitespace.
        - `different_number_of_email_address` number: Count of translations with different number of email address (source vs target).
        - `different_email_address` number: Count of translations with different email address (source vs target).
        - `different_brackets` number: Count of translations with different brackets (source vs target).
        - `different_numbers` number: Count of translations with different numbers (source vs target).
        - `double_space` number: Count of translations with double spaces (target).
        - `special_placeholder` number: Count of invalid use of [VOID], [TRUE], [FALSE] placeholders (target).
        - `unbalanced_brackets` number: Count of unbalanced brackets (target).
      - `languages` object[]: An array of project languages with progress percent.
        - `language_id` number: A unique language identifier in the system.
        - `language_iso` string: Language/locale code.
        - `progress` number: Translated keys percent.
        - `words_to_do` number: Count of words remaining to translate from projects base language.

---

[API](https://skmtc.dev/lokalise/apis/projects-with-branches.md) - [All operations](https://skmtc.dev/lokalise/apis/projects-with-branches/llms.txt) - [OpenAPI document](https://skmtc.dev/lokalise/apis/projects-with-branches/revisions/7ed3f978a361?raw)
