Skip to main content
GET
/
v10
/
projects
getProjects
import { Vercel } from "@vercel/sdk";

const vercel = new Vercel({
  bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
});

async function run() {
  const result = await vercel.projects.getProjects({
    gitForkProtection: "1",
    repoUrl: "https://github.com/vercel/next.js",
    elasticConcurrencyEnabled: "1",
    staticIpsEnabled: "1",
    buildMachineTypes: "default,enhanced",
    buildQueueConfiguration: "SKIP_NAMESPACE_QUEUE",
    teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
    slug: "my-team-url-slug",
  });

  console.log(result);
}

run();
[
  {
    "accountId": "<string>",
    "alias": [
      {
        "deployment": {
          "createdAt": 123,
          "createdIn": "<string>",
          "creator": {
            "email": "<string>",
            "uid": "<string>",
            "username": "<string>",
            "githubLogin": "<string>",
            "gitlabLogin": "<string>"
          },
          "deploymentHostname": "<string>",
          "name": "<string>",
          "id": "<string>",
          "plan": "<string>",
          "private": false,
          "readyState": "<string>",
          "type": "<string>",
          "url": "<string>",
          "userId": "<string>",
          "alias": [
            "<string>"
          ],
          "aliasAssigned": 123,
          "builds": [
            {
              "use": "<string>",
              "src": "<string>",
              "dest": "<string>"
            }
          ],
          "forced": false,
          "meta": {},
          "requestedAt": 123,
          "target": "<string>",
          "teamId": "<string>",
          "withCache": false
        },
        "domain": "<string>",
        "environment": "production",
        "target": "PRODUCTION",
        "configuredBy": "A",
        "configuredChangedAt": 123,
        "createdAt": 123,
        "gitBranch": "<string>",
        "redirect": "<string>",
        "redirectStatusCode": 301
      }
    ],
    "directoryListing": false,
    "id": "<string>",
    "name": "<string>",
    "nodeVersion": "24.x",
    "resourceConfig": {
      "functionDefaultRegions": [
        "<string>"
      ],
      "elasticConcurrencyEnabled": false,
      "fluid": false,
      "functionDefaultTimeout": 123,
      "functionDefaultMemoryType": "standard_legacy",
      "functionZeroConfigFailover": false,
      "buildMachineType": "enhanced",
      "isNSNBDisabled": false,
      "buildQueue": {
        "configuration": "SKIP_NAMESPACE_QUEUE"
      }
    },
    "serverlessFunctionRegion": "<string>",
    "analytics": {
      "id": "<string>",
      "disabledAt": 123,
      "enabledAt": 123,
      "canceledAt": 123,
      "paidAt": 123,
      "sampleRatePercent": 123,
      "spendLimitInDollars": 123
    },
    "appliedCve55182Migration": false,
    "autoExposeSystemEnvs": false,
    "autoAssignCustomDomains": false,
    "autoAssignCustomDomainsUpdatedBy": "<string>",
    "buildCommand": "<string>",
    "commandForIgnoringBuildStep": "<string>",
    "customerSupportCodeVisibility": false,
    "createdAt": 123,
    "devCommand": "<string>",
    "deploymentExpiration": {
      "expirationDays": 123,
      "expirationDaysProduction": 123,
      "expirationDaysCanceled": 123,
      "expirationDaysErrored": 123,
      "deploymentsToKeep": 123
    },
    "installCommand": "<string>",
    "ipBuckets": [
      {
        "bucket": "<string>",
        "supportUntil": 123
      }
    ],
    "env": [
      {
        "type": "secret",
        "value": "<string>",
        "key": "<string>",
        "target": [
          "production"
        ],
        "sunsetSecretId": "<string>",
        "legacyValue": "<string>",
        "decrypted": false,
        "vsmValue": "<string>",
        "id": "<string>",
        "configurationId": "<string>",
        "createdAt": 123,
        "updatedAt": 123,
        "createdBy": "<string>",
        "updatedBy": "<string>",
        "gitBranch": "<string>",
        "edgeConfigId": "<string>",
        "edgeConfigTokenId": "<string>",
        "contentHint": {
          "type": "redis-url",
          "storeId": "<string>"
        },
        "internalContentHint": {
          "type": "flags-secret",
          "encryptedValue": "<string>"
        },
        "comment": "<string>",
        "customEnvironmentIds": [
          "<string>"
        ]
      }
    ],
    "framework": "blitzjs",
    "gitForkProtection": false,
    "latestDeployments": [
      {
        "createdAt": 123,
        "createdIn": "<string>",
        "creator": {
          "email": "<string>",
          "uid": "<string>",
          "username": "<string>",
          "githubLogin": "<string>",
          "gitlabLogin": "<string>"
        },
        "deploymentHostname": "<string>",
        "name": "<string>",
        "id": "<string>",
        "plan": "<string>",
        "private": false,
        "readyState": "<string>",
        "type": "<string>",
        "url": "<string>",
        "userId": "<string>",
        "alias": [
          "<string>"
        ],
        "aliasAssigned": 123,
        "builds": [
          {
            "use": "<string>",
            "src": "<string>",
            "dest": "<string>"
          }
        ],
        "forced": false,
        "meta": {},
        "requestedAt": 123,
        "target": "<string>",
        "teamId": "<string>",
        "withCache": false
      }
    ],
    "link": {
      "org": "<string>",
      "type": "github",
      "deployHooks": [
        {
          "id": "<string>",
          "name": "<string>",
          "ref": "<string>",
          "url": "<string>",
          "createdAt": 123
        }
      ],
      "gitCredentialId": "<string>",
      "productionBranch": "<string>",
      "repoOwnerId": 123,
      "repo": "<string>",
      "repoId": 123,
      "createdAt": 123,
      "updatedAt": 123,
      "sourceless": false
    },
    "outputDirectory": "<string>",
    "passwordProtection": {},
    "publicSource": false,
    "rollingRelease": {
      "target": "production",
      "stages": [
        {
          "targetPercentage": 25,
          "requireApproval": false,
          "duration": 600,
          "linearShift": false
        }
      ],
      "canaryResponseHeader": false
    },
    "rootDirectory": "<string>",
    "serverlessFunctionZeroConfigFailover": false,
    "speedInsights": {
      "id": "<string>",
      "enabledAt": 123,
      "disabledAt": 123,
      "canceledAt": 123,
      "hasData": false,
      "paidAt": 123
    },
    "skipGitConnectDuringLink": false,
    "sourceFilesOutsideRootDirectory": false,
    "ssoProtection": {
      "deploymentType": "preview",
      "cve55182MigrationAppliedFrom": "preview"
    },
    "targets": {},
    "transferCompletedAt": 123,
    "transferStartedAt": 123,
    "transferToAccountId": "<string>",
    "transferredFromAccountId": "<string>",
    "updatedAt": 123,
    "live": false,
    "hasActiveBranches": false,
    "gitComments": {
      "onPullRequest": false,
      "onCommit": false
    },
    "gitProviderOptions": {
      "createDeployments": "enabled",
      "disableRepositoryDispatchEvents": false,
      "requireVerifiedCommits": false
    },
    "paused": false,
    "webAnalytics": {
      "id": "<string>",
      "disabledAt": 123,
      "canceledAt": 123,
      "enabledAt": 123,
      "hasData": true
    },
    "security": {
      "attackModeEnabled": false,
      "attackModeUpdatedAt": 123,
      "firewallEnabled": false,
      "firewallUpdatedAt": 123,
      "attackModeActiveUntil": 123,
      "firewallConfigVersion": 123,
      "firewallRoutes": [
        {
          "src": "<string>",
          "has": [
            {
              "type": "path",
              "key": "<string>",
              "value": "<string>"
            }
          ],
          "missing": [
            {
              "type": "path",
              "key": "<string>",
              "value": "<string>"
            }
          ],
          "dest": "<string>",
          "status": 123,
          "handle": "init",
          "mitigate": {
            "action": "log",
            "rule_id": "<string>",
            "ttl": 123,
            "erl": {
              "algo": "fixed_window",
              "window": 123,
              "limit": 123,
              "keys": [
                "<string>"
              ]
            }
          }
        }
      ],
      "firewallSeawallEnabled": false,
      "ja3Enabled": false,
      "ja4Enabled": false,
      "firewallBypassIps": [
        "<string>"
      ],
      "managedRules": {
        "vercel_ruleset": {
          "active": false,
          "action": "log"
        },
        "bot_filter": {
          "active": false,
          "action": "log"
        },
        "ai_bots": {
          "active": false,
          "action": "log"
        },
        "owasp": {
          "active": false,
          "action": "log"
        }
      },
      "botIdEnabled": false
    },
    "oidcTokenConfig": {
      "enabled": false,
      "issuerMode": "team"
    },
    "tier": "standard",
    "abuse": {
      "history": [
        {
          "scanner": "<string>",
          "reason": "<string>",
          "by": "<string>",
          "byId": "<string>",
          "at": 123
        }
      ],
      "updatedAt": 123,
      "scanner": "<string>",
      "block": {
        "action": "blocked",
        "reason": "<string>",
        "statusCode": 123,
        "createdAt": 123,
        "caseId": "<string>",
        "actor": "<string>",
        "comment": "<string>",
        "ineligibleForAppeal": false,
        "isCascading": false
      },
      "blockHistory": [
        {
          "action": "blocked",
          "reason": "<string>",
          "statusCode": 123,
          "createdAt": 123,
          "caseId": "<string>",
          "actor": "<string>",
          "comment": "<string>",
          "ineligibleForAppeal": false,
          "isCascading": false
        }
      ],
      "interstitial": false
    },
    "internalRoutes": [
      {
        "src": "<string>",
        "status": 123
      }
    ]
  }
]

Authorizations

Authorization
string
header
required

Default authentication mechanism

Query Parameters

from
string

Query only projects updated after the given timestamp or continuation token.

gitForkProtection
enum<string>

Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed

Available options:
1,
0
Example:

"1"

limit
string

Limit the number of projects returned

Search projects by the name field

Maximum string length: 100
repo
string

Filter results by repo. Also used for project count

repoId
string

Filter results by Repository ID.

repoUrl
string

Filter results by Repository URL.

Example:

"https://github.com/vercel/next.js"

excludeRepos
string

Filter results by excluding those projects that belong to a repo

edgeConfigId
string

Filter results by connected Edge Config ID

edgeConfigTokenId
string

Filter results by connected Edge Config Token ID

deprecated
boolean
elasticConcurrencyEnabled
enum<string>

Filter results by projects with elastic concurrency enabled

Available options:
1,
0
Example:

"1"

staticIpsEnabled
enum<string>

Filter results by projects with Static IPs enabled

Available options:
0,
1
Example:

"1"

buildMachineTypes
string

Filter results by build machine types. Accepts comma-separated values. Use "default" for projects without a build machine type set.

Example:

"default,enhanced"

buildQueueConfiguration
enum<string>

Filter results by build queue configuration. SKIP_NAMESPACE_QUEUE includes projects without a configuration set.

Available options:
SKIP_NAMESPACE_QUEUE,
WAIT_FOR_NAMESPACE_QUEUE
Example:

"SKIP_NAMESPACE_QUEUE"

teamId
string

The Team identifier to perform the request on behalf of.

Example:

"team_1a2b3c4d5e6f7g8h9i0j1k2l"

slug
string

The Team slug to perform the request on behalf of.

Example:

"my-team-url-slug"

Response

accountId
string
required
alias
object[]
required
directoryListing
enum<boolean>
required
Available options:
true,
false
id
string
required
name
string
required
nodeVersion
enum<string>
required
Available options:
24.x,
22.x,
20.x,
18.x,
16.x,
14.x,
12.x,
10.x,
8.10.x
resourceConfig
object
required
serverlessFunctionRegion
string
required
analytics
object
appliedCve55182Migration
enum<boolean>
Available options:
true,
false
autoExposeSystemEnvs
enum<boolean>
Available options:
true,
false
autoAssignCustomDomains
enum<boolean>
Available options:
true,
false
autoAssignCustomDomainsUpdatedBy
string
buildCommand
string | null
commandForIgnoringBuildStep
string | null
customerSupportCodeVisibility
enum<boolean>
Available options:
true,
false
createdAt
number
devCommand
string | null
deploymentExpiration
object

Retention policies for deployments. These are enforced at the project level, but we also maintain an instance of this at the team level as a default policy that gets applied to new projects.

installCommand
string | null
ipBuckets
object[]
env
object[]
framework
enum<string> | null
Available options:
blitzjs,
nextjs,
gatsby,
remix,
react-router,
astro,
hexo,
eleventy,
docusaurus-2,
docusaurus,
preact,
solidstart-1,
solidstart,
dojo,
ember,
vue,
scully,
ionic-angular,
angular,
polymer,
svelte,
sveltekit,
sveltekit-1,
ionic-react,
create-react-app,
gridsome,
umijs,
sapper,
saber,
stencil,
nuxtjs,
redwoodjs,
hugo,
jekyll,
brunch,
middleman,
zola,
hydrogen,
vite,
tanstack-start,
vitepress,
vuepress,
parcel,
fastapi,
flask,
fasthtml,
sanity-v3,
sanity,
storybook,
nitro,
hono,
express,
h3,
koa,
nestjs,
elysia,
fastify,
xmcp,
python,
ruby,
rust,
node,
services
gitForkProtection
enum<boolean>
Available options:
true,
false
latestDeployments
object[]
outputDirectory
string | null
passwordProtection
object
publicSource
enum<boolean> | null
Available options:
true,
false
rollingRelease
object

Project-level rolling release configuration that defines how deployments should be gradually rolled out

rootDirectory
string | null
serverlessFunctionZeroConfigFailover
enum<boolean>
Available options:
true,
false
speedInsights
object
Available options:
true,
false
sourceFilesOutsideRootDirectory
enum<boolean>
Available options:
true,
false
ssoProtection
object
targets
object
transferCompletedAt
number
transferStartedAt
number
transferToAccountId
string
transferredFromAccountId
string
updatedAt
number
live
enum<boolean>
Available options:
true,
false
hasActiveBranches
enum<boolean>
Available options:
true,
false
gitComments
object
gitProviderOptions
object
paused
enum<boolean>
Available options:
true,
false
webAnalytics
object
security
object
oidcTokenConfig
object
tier
enum<string>
Available options:
standard,
advanced,
critical
abuse
object
internalRoutes
object[]