Overview

Use the DeepSource GraphQL API to retrieve your data programmatically and easily automate your workflows.

Endpoint

For DeepSource Cloud:

https://api.deepsource.io/graphql/

For on-premise deployments:

https://[hostname]/api/graphql/

where hostname refers to the hostname of the DeepSource dashboard.

Authentication

Authenticate via a Personal Access Token (PAT). You need to pass it as a Bearer token in the Authorization header:

curl 'https://api.deepsource.io/graphql/' \
-X POST \
-H 'Authorization: Bearer <PERSONAL_ACCESS_TOKEN>' \
-H 'accept: application/json' \
-H 'content-type: application/json' \
--data '{ "query": "query { viewer { email } }" }'

Because GraphQL depends entirely on multiline JSON, we recommend that you use a GraphQL client like Altair or Insomnia. Note that the client wouldn't be able to perform requests or fetch the schema/documentation (which facilitates auto-complete) unless you add the Authorization header as above.

Rate Limits

Rate limits define the maximum number of requests a single user account can make within a given period of time. If the rate limit is exceeded, the API responds with a HTTP 429 Too Many Requests response code.

Rate limits are applied at the user level and calculated across both read and write operations.

Currently, we enforce a flat rate limit of 10,000 requests per hour.