Projects

Get project insights

Changed on

Returns health and activity metrics for a project.

healthScoreV2 is the Health Score v2 total, out of healthMaxScore. It is null for unscored projects. healthScore and the four v1 category scores are soon to be deprecated. See the migration guide.

This endpoint is public and requires no authentication.

Rate limiting applies (default: 200 requests per 60 seconds per IP address). Rate limit status is returned in the X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset response headers.

get/api/project/{slug}/insights

Request

  • Base URL
    https://insights.linuxfoundation.org
  • URL
    https://insights.linuxfoundation.org/api/project/{slug}/insights
  • Auth
    none declared

Path parameters

slugstring required
Example:k8s

The project slug. Matches the slug used in the LFX Insights URL — e.g. k8s in https://insights.linuxfoundation.org/projects/k8s.

Response

Project insights snapshot

idstring required

Internal project identifier

type'project' | 'repo' required

Whether this entry represents a full project or a single repository

namestring required

Display name of the project

slugstring required

URL slug used to identify the project

logoUrlstring uri required

URL of the project logo

repoUrlstring uri required

URL of the primary repository

isLFboolean required

Whether the project is hosted by The Linux Foundation

statusstring required

Project status (e.g. active, archived)

maturitystring

Maturity level (e.g. sandbox, incubating, graduated). May be absent for non-foundation projects.

healthScoreinteger nullable required

(Soon to be deprecated) Use healthScoreV2. Currently returns the same value as healthScoreV2.

healthLabel'excellent' | 'healthy' | 'fair' | 'concerning' | 'critical' | 'null' nullable required

Health Score v2 band of healthScoreV2 * 100 / healthMaxScore. Display this instead of grading healthScoreV2 yourself. Null whenever healthScoreV2 is null.

healthScoreV2integer nullable required

Health Score v2 total, in points out of healthMaxScore. Null when the project is unscored (fewer than 2 categories covered), archived, or one of a few special projects (e.g. the Linux kernel).

healthMaxScore100 | 75 | 65 | 60 | null nullable required

Points available for healthScoreV2: 100 when all 3 categories are covered, or 60, 65 or 75 when Maintainer Health, Security & Supply Chain or Development Activity is missing. Null whenever healthScoreV2 is null.

maintainerHealthScoreV2integer nullable required

Health Score v2 Maintainer Health category score. Null when the project has no value for this category.

securitySupplyChainScoreV2integer nullable required

Health Score v2 Security & Supply Chain category score. Null when the project has no value for this category.

developmentActivityScoreV2integer nullable required

Health Score v2 Development Activity category score. Null when the project has no value for this category.

coveredCategoryCountinteger nullable required

Number of the 3 Health Score v2 categories that have a score. Null when the count is not available, including for archived projects and a few special projects (e.g. the Linux kernel), which can still have category scores. Treat a null healthScoreV2 or healthLabel as unscored instead of inferring it from the category scores.

lifecycleLabel'active' | 'stable' | 'declining' | 'inert' | 'abandoned' | 'archived' | 'null' nullable required

Project lifecycle state, assessed independently of the Health Score. Null when not computed for this project.

contributorHealthScorenumber nullable required

(Soon to be deprecated) Health Score v1 contributor score. Does not add up to healthScoreV2. Use maintainerHealthScoreV2.

popularityHealthScorenumber nullable required

(Soon to be deprecated) Health Score v1 popularity score. v2 has no popularity category. Use starsLast365Days and forksLast365Days.

developmentHealthScorenumber nullable required

(Soon to be deprecated) Health Score v1 development score. Does not add up to healthScoreV2. Use developmentActivityScoreV2.

securityHealthScorenumber nullable required

(Soon to be deprecated) Health Score v1 security score. Does not add up to healthScoreV2. Use securitySupplyChainScoreV2.

contributorCountinteger required

Total number of contributors, all time

organizationCountinteger required

Total number of contributing organizations, all time

softwareValueinteger required

Estimated value of the project's software in USD (COCOMO model)

contributorDependencyCountinteger required

Number of contributors that account for a disproportionate share of commits

contributorDependencyPercentagenumber required

Percentage of commits attributed to those contributors

organizationDependencyCountinteger required

Number of organizations that account for a disproportionate share of commits

organizationDependencyPercentagenumber required

Percentage of commits attributed to those organizations

firstCommitstring date-time required

ISO 8601 date of the earliest recorded commit

starsLast365Daysinteger required

GitHub stars gained in the last 365 days

forksLast365Daysinteger required

GitHub forks gained in the last 365 days

activeContributorsLast365Daysinteger required

Unique contributors active in the last 365 days

activeOrganizationsLast365Daysinteger required

Unique contributing organizations active in the last 365 days

starsPrevious365Daysinteger required

GitHub stars gained in the 365-day period prior to the last 365 days

forksPrevious365Daysinteger required

GitHub forks gained in the 365-day period prior to the last 365 days

activeContributorsPrevious365Daysinteger required

Unique contributors active in the prior 365-day period

activeOrganizationsPrevious365Daysinteger required

Unique contributing organizations active in the prior 365-day period

Example response

{
  "status": "active",
  "maturity": "graduated"
}

Changes

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response's property type changed from number to integer null for status

    • info

      the response property became required for the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the optional property to the response with the status