Skip to main content

How to Create a Project

To create a Project, you must use one of the following mutations based on the desired project type. As a bare minimum, you have to provide the accountId in which you are creating your Project, a name for your Project, and a primaryDomain.

The createProject mutation has been deprecated and split into four different mutations based on the project type.

Project Types

  • Basic: Generate basic crawl metrics and add extensions for custom metrics and reports.
  • SEO: Generate SEO reports and metrics to optimize for search engines.
  • Accessibility: Generate Accessibility reports and metrics to optimize for inclusive user experiences and compliance with accessibility standards.
  • Site Speed: Generate Site Speed reports and metrics to optimize for speed performance.

Basic Project

mutation CreateBasicProject($input: CreateProjectInput!) {
createBasicProject(input: $input) {
project {
...ProjectDetails
}
}
}

fragment ProjectDetails on Project {
id
name
primaryDomain
# ...other fields you want to retrieve
}

Try in explorer

Of course, you can pass any of the optional fields at the time of creation. Explore CreateProjectInput to see what fields are available.

SEO Project

mutation CreateSEOProject($input: CreateProjectInput!) {
createSEOProject(input: $input) {
project {
...ProjectDetails
}
}
}

fragment ProjectDetails on Project {
id
name
primaryDomain
# ...other fields you want to retrieve
}

Try in explorer

Of course, you can pass any of the optional fields at the time of creation. Explore CreateProjectInput to see what fields are available.

Accessibility Project

mutation CreateAccessibilityProject($input: CreateAccessibilityProjectInput!) {
createAccessibilityProject(input: $input) {
project {
...ProjectDetails
}
}
}

fragment ProjectDetails on Project {
id
name
primaryDomain
# ...other fields you want to retrieve
}

Try in explorer

Of course, you can pass any of the optional fields at the time of creation. Explore CreateAccessibilityProjectInput to see what fields are available.

Site Speed Project

mutation CreateSiteSpeedProject($input: CreateSiteSpeedProjectInput!) {
createSiteSpeedProject(input: $input) {
project {
...ProjectDetails
}
}
}

fragment ProjectDetails on Project {
id
name
primaryDomain
# ...other fields you want to retrieve
}

Try in explorer

Of course, you can pass any of the optional fields at the time of creation. Explore CreateSiteSpeedProjectInput to see what fields are available.