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

# List Projects

`GET /projects`

## Request

- Base URL: `https://api.crowdin.com/api/v2`
- URL: `https://api.crowdin.com/api/v2/projects`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crowdin/apis/crowdin-api-v2/docs/projects/get.ts> (a function with typed inputs; its response is checked against the schema)

**Required scopes:** `project.settings` (Read only).

## Query parameters

- `orderBy` 'id' | 'name' | 'identifier' | 'description' | 'createdAt' | 'updatedAt' | 'lastActivity'
- `filter` string
- `userId` integer
- `hasManagerAccess` 1 | 0
- `type` 1 | 0
- `limit` integer
- `offset` integer

## Response `200`

Projects list

- CrowdinStringBasedProjectCollectionResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
  - `data` union[], required
    - union
      - object: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
        - `data` CrowdinStringBasedProjectSettingsResponse, required
          - `id` integer
          - `type` integer
          - `userId` integer
          - `sourceLanguageId` string
          - `targetLanguageIds` string[]
          - `languageAccessPolicy` string
          - `name` string
          - `cname` string, nullable
          - `identifier` string
          - `description` string
          - `visibility` string
          - `logo` string
          - `publicDownloads` boolean, nullable
          - `createdAt` string, date-time, nullable
          - `updatedAt` string, date-time, nullable
          - `lastActivity` string, date-time, nullable
          - `sourceLanguage` Language: Class LanguageResponseModel
            - `id` string
            - `name` string
            - `editorCode` string: - alias of internal code
            - `twoLettersCode` string: alias of iso6391 code
            - `threeLettersCode` string: alias of iso6393 code
            - `locale` string
            - `androidCode` string
            - `bcp47Code` string
            - `osxCode` string
            - `osxLocale` string
            - `pluralCategoryNames` string[]: plural category names
            - `pluralRules` string: string with plural rules
            - `pluralExamples` string[]: plural examples array
            - `textDirection` 'ltr' | 'rtl'
            - `dialectOf` string, nullable
          - `targetLanguages` Language[]
            - `id` string
            - `name` string
            - `editorCode` string: - alias of internal code
            - `twoLettersCode` string: alias of iso6391 code
            - `threeLettersCode` string: alias of iso6393 code
            - `locale` string
            - `androidCode` string
            - `bcp47Code` string
            - `osxCode` string
            - `osxLocale` string
            - `pluralCategoryNames` string[]: plural category names
            - `pluralRules` string: string with plural rules
            - `pluralExamples` string[]: plural examples array
            - `textDirection` 'ltr' | 'rtl'
            - `dialectOf` string, nullable
          - `webUrl` string
          - `savingsReportSettingsTemplateId` integer
          - `translateDuplicates` integer
          - `tagsDetection` integer
          - `glossaryAccess` boolean
          - `glossaryAccessOption` 'readOnly' | 'fullAccess' | 'manageDrafts'
          - `isMtAllowed` boolean
          - `taskBasedAccessControl` boolean
          - `hiddenStringsProofreadersAccess` boolean
          - `autoSubstitution` boolean
          - `exportTranslatedOnly` boolean
          - `skipUntranslatedStrings` boolean
          - `exportApprovedOnly` boolean
          - `autoTranslateDialects` boolean
          - `useGlobalTm` boolean
          - `showTmSuggestionsDialects` boolean
          - `tmApprovedSuggestionsOnly` boolean
          - `isSuspended` boolean
          - `qaCheckIsActive` boolean
          - `qaCheckCategories` QaCheckCategories
            - `empty` boolean
            - `size` boolean
            - `tags` boolean
            - `spaces` boolean
            - `variables` boolean
            - `punctuation` boolean
            - `symbolRegister` boolean
            - `specialSymbols` boolean
            - `wrongTranslation` boolean
            - `spellcheck` boolean
            - `icu` boolean
            - `terms` boolean
            - `duplicate` boolean
            - `ftl` boolean
            - `android` boolean
            - `numbers` boolean
            - `ai` boolean
            - `outdated` boolean
            - `mdx` boolean
            - `unifiedPlaceholders` boolean
          - `qaChecksIgnorableCategories` QaChecksIgnorableCategories
            - `empty` boolean
            - `size` boolean
            - `tags` boolean
            - `spaces` boolean
            - `variables` boolean
            - `punctuation` boolean
            - `symbolRegister` boolean
            - `specialSymbols` boolean
            - `wrongTranslation` boolean
            - `spellcheck` boolean
            - `icu` boolean
            - `terms` boolean
            - `duplicate` boolean
            - `ftl` boolean
            - `android` boolean
            - `numbers` boolean
            - `ai` boolean
            - `outdated` boolean
            - `mdx` boolean
            - `unifiedPlaceholders` boolean
          - `languageMapping` object
            - `uk` LanguageMappingUk
              - …
          - `notificationSettings` object
            - `translatorNewStrings` boolean: Notify translators about new strings
            - `managerNewStrings` boolean: Notify project managers about new strings
            - `managerLanguageCompleted` boolean: Notify project managers about language translation/validation completion
          - `defaultTmId` integer
          - `defaultGlossaryId` integer
          - `assignedTms` object
            - `1` AssignedTm
              - …
          - `assignedGlossaries` integer[]
          - `assignedStyleGuides` integer[]
          - `tmPenalties` object
            - `autoSubstitution` integer
            - `tmPriority` object
              - …
            - `multipleTranslations` integer
            - `timeSinceLastUsage` object
              - …
            - `timeSinceLastModified` object
              - …
          - `normalizePlaceholder` boolean
          - `tmPreTranslate` TmPreTranslateProjectSettings: Translates only new strings. Changing this setting or adding a target language does not translate existing strings; use [Apply Auto-Translation](#operation/api.projects.pre-translations.post) for them.
            - `enabled` boolean
            - `autoApproveOption` 'all' | 'perfectMatchOnly' | 'exceptAutoSubstituted' | 'perfectMatchApprovedOnly' | 'none'
            - `minimumMatchRatio` 'perfect' | '100'
          - `mtPreTranslate` MtPreTranslateProjectSettings: Translates only new strings. Changing this setting or adding a target language does not translate existing strings; use [Apply Auto-Translation](#operation/api.projects.pre-translations.post) for them.
            - `enabled` boolean
            - `mts` EngineMtPreTranslateProjectSettings[]
              - …
          - `aiPreTranslate` AiPreTranslateProjectSettings: Translates only new strings. Changing this setting or adding a target language does not translate existing strings; use [Apply Auto-Translation](#operation/api.projects.pre-translations.post) for them.
            - `enabled` boolean
            - `aiPrompts` PromptAiPreTranslateProjectSettings[]
              - …
          - `preTranslationAiPromptId` integer, nullable
          - `editorSuggestionAiPromptId` integer, nullable
          - `qaCheckActionAiPromptId` integer, nullable
          - `contextReviewAiPromptId` integer, nullable
          - `inContext` boolean
          - `inContextProcessHiddenStrings` boolean
          - `inContextPseudoLanguageId` string, nullable
          - `inContextPseudoLanguage` LanguageUk
            - `id` string
            - `name` string
            - `editorCode` string
            - `twoLettersCode` string
            - `threeLettersCode` string
            - `locale` string
            - `androidCode` string
            - `osxCode` string
            - `osxLocale` string
            - `pluralCategoryNames` string[]
            - `pluralRules` string
            - `pluralExamples` string[]
            - `textDirection` string
            - `dialectOf` string, nullable
      - object: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
        - `data` ProjectResponse, required
          - `id` integer
          - `type` integer
          - `userId` integer
          - `sourceLanguageId` string
          - `targetLanguageIds` string[]
          - `languageAccessPolicy` string
          - `name` string
          - `cname` string, nullable
          - `identifier` string
          - `description` string
          - `visibility` string
          - `logo` string
          - `publicDownloads` boolean, nullable
          - `createdAt` string, date-time, nullable
          - `updatedAt` string, date-time, nullable
          - `lastActivity` string, date-time, nullable
          - `sourceLanguage` Language: Class LanguageResponseModel
            - `id` string
            - `name` string
            - `editorCode` string: - alias of internal code
            - `twoLettersCode` string: alias of iso6391 code
            - `threeLettersCode` string: alias of iso6393 code
            - `locale` string
            - `androidCode` string
            - `bcp47Code` string
            - `osxCode` string
            - `osxLocale` string
            - `pluralCategoryNames` string[]: plural category names
            - `pluralRules` string: string with plural rules
            - `pluralExamples` string[]: plural examples array
            - `textDirection` 'ltr' | 'rtl'
            - `dialectOf` string, nullable
          - `targetLanguages` Language[]
            - `id` string
            - `name` string
            - `editorCode` string: - alias of internal code
            - `twoLettersCode` string: alias of iso6391 code
            - `threeLettersCode` string: alias of iso6393 code
            - `locale` string
            - `androidCode` string
            - `bcp47Code` string
            - `osxCode` string
            - `osxLocale` string
            - `pluralCategoryNames` string[]: plural category names
            - `pluralRules` string: string with plural rules
            - `pluralExamples` string[]: plural examples array
            - `textDirection` 'ltr' | 'rtl'
            - `dialectOf` string, nullable
          - `webUrl` string
          - `savingsReportSettingsTemplateId` integer
  - `pagination` Pagination: Pagination Response Model
    - `offset` integer
    - `limit` integer

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `403`: Forbidden
- `404`: User Not Found
- `405`: Method Not Allowed

---

[API](https://skmtc.dev/crowdin/apis/crowdin-api-v2.md) - [All operations](https://skmtc.dev/crowdin/apis/crowdin-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/crowdin/apis/crowdin-api-v2/revisions/27aae7751699?raw)
