GET /analytics/reviews

Return code-review analytics.

account_type scopes reviewers (bot|user|all) — e.g. "what apps review the most PRs?" is the reviewer facets here with account_type=bot. Windowing: pass explicit start/end, or days (default: the last 30 days).

curl "https://api.ellipsis.dev/v1/analytics/reviews" \
  -H "Authorization: Bearer $ELLIPSIS_API_KEY"
{
  "facets": {
    "authors": [
      {
        "account_type": "string",
        "avatar_url": "string",
        "login": "string",
        "reviews": 0
      }
    ],
    "repos": [
      {
        "repository_name": "string",
        "reviews": 0
      }
    ]
  },
  "review_comments": [
    {
      "author": {
        "avatar_url": "string",
        "id": 0,
        "login": "string",
        "type": "string"
      },
      "base_ref": "string",
      "body_preview": "string",
      "created_at": "2026-01-01T00:00:00Z",
      "html_url": "string",
      "id": 0,
      "path": "string",
      "pr_html_url": "string",
      "pr_number": 0,
      "pr_status": "string",
      "pr_title": "string",
      "repo_name": "string",
      "thumbs_down": 0,
      "thumbs_up": 0
    }
  ],
  "reviews": [
    {
      "base_ref": "string",
      "comment_count": 0,
      "has_body": false,
      "html_url": "string",
      "id": 0,
      "pr_author": {
        "avatar_url": "string",
        "id": 0,
        "login": "string",
        "type": "string"
      },
      "pr_html_url": "string",
      "pr_number": 0,
      "pr_status": "string",
      "pr_title": "string",
      "repo_name": "string",
      "reviewer": {
        "avatar_url": "string",
        "id": 0,
        "login": "string",
        "type": "string"
      },
      "state": "string",
      "submitted_at": "2026-01-01T00:00:00Z"
    }
  ],
  "series": [
    {
      "approved": 0,
      "changes_requested": 0,
      "commented": 0,
      "comments": 0,
      "comments_bot": 0,
      "comments_human": 0,
      "date": "string",
      "reviewers_bot": 0,
      "reviewers_human": 0,
      "reviewers_total": 0,
      "reviews": 0
    }
  ],
  "totals": {
    "comments": 0,
    "comments_bot": 0,
    "comments_human": 0,
    "prs": 0,
    "reviewers": 0,
    "reviews": 0,
    "thumbs_down": 0,
    "thumbs_up": 0
  }
}
No request body.
{
  "properties": {
    "facets": {
      "properties": {
        "authors": {
          "items": {
            "properties": {
              "account_type": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "avatar_url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "login": {
                "type": "string"
              },
              "reviews": {
                "type": "integer"
              }
            },
            "required": [
              "login",
              "avatar_url",
              "account_type",
              "reviews"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "repos": {
          "items": {
            "properties": {
              "repository_name": {
                "type": "string"
              },
              "reviews": {
                "type": "integer"
              }
            },
            "required": [
              "repository_name",
              "reviews"
            ],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "repos",
        "authors"
      ],
      "type": "object"
    },
    "review_comments": {
      "items": {
        "properties": {
          "author": {
            "properties": {
              "avatar_url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "id": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "login": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "login",
              "type",
              "avatar_url"
            ],
            "type": "object"
          },
          "base_ref": {
            "type": "string"
          },
          "body_preview": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "html_url": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "path": {
            "type": "string"
          },
          "pr_html_url": {
            "type": "string"
          },
          "pr_number": {
            "type": "integer"
          },
          "pr_status": {
            "type": "string"
          },
          "pr_title": {
            "type": "string"
          },
          "repo_name": {
            "type": "string"
          },
          "thumbs_down": {
            "type": "integer"
          },
          "thumbs_up": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "created_at",
          "html_url",
          "path",
          "body_preview",
          "author",
          "thumbs_up",
          "thumbs_down",
          "pr_number",
          "pr_title",
          "pr_html_url",
          "pr_status",
          "repo_name",
          "base_ref"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "reviews": {
      "items": {
        "properties": {
          "base_ref": {
            "type": "string"
          },
          "comment_count": {
            "type": "integer"
          },
          "has_body": {
            "type": "boolean"
          },
          "html_url": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "pr_author": {
            "properties": {
              "avatar_url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "id": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "login": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "login",
              "type",
              "avatar_url"
            ],
            "type": "object"
          },
          "pr_html_url": {
            "type": "string"
          },
          "pr_number": {
            "type": "integer"
          },
          "pr_status": {
            "type": "string"
          },
          "pr_title": {
            "type": "string"
          },
          "repo_name": {
            "type": "string"
          },
          "reviewer": {
            "properties": {
              "avatar_url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "id": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "login": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "login",
              "type",
              "avatar_url"
            ],
            "type": "object"
          },
          "state": {
            "type": "string"
          },
          "submitted_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "state",
          "submitted_at",
          "html_url",
          "has_body",
          "comment_count",
          "reviewer",
          "pr_number",
          "pr_title",
          "pr_html_url",
          "pr_status",
          "pr_author",
          "repo_name",
          "base_ref"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "series": {
      "items": {
        "properties": {
          "approved": {
            "type": "integer"
          },
          "changes_requested": {
            "type": "integer"
          },
          "commented": {
            "type": "integer"
          },
          "comments": {
            "type": "integer"
          },
          "comments_bot": {
            "type": "integer"
          },
          "comments_human": {
            "type": "integer"
          },
          "date": {
            "type": "string"
          },
          "reviewers_bot": {
            "type": "integer"
          },
          "reviewers_human": {
            "type": "integer"
          },
          "reviewers_total": {
            "type": "integer"
          },
          "reviews": {
            "type": "integer"
          }
        },
        "required": [
          "date",
          "reviews",
          "approved",
          "commented",
          "changes_requested",
          "reviewers_human",
          "reviewers_bot",
          "reviewers_total",
          "comments",
          "comments_human",
          "comments_bot"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "totals": {
      "properties": {
        "comments": {
          "type": "integer"
        },
        "comments_bot": {
          "type": "integer"
        },
        "comments_human": {
          "type": "integer"
        },
        "prs": {
          "type": "integer"
        },
        "reviewers": {
          "type": "integer"
        },
        "reviews": {
          "type": "integer"
        },
        "thumbs_down": {
          "type": "integer"
        },
        "thumbs_up": {
          "type": "integer"
        }
      },
      "required": [
        "reviews",
        "reviewers",
        "prs",
        "comments",
        "comments_human",
        "comments_bot",
        "thumbs_up",
        "thumbs_down"
      ],
      "type": "object"
    }
  },
  "required": [
    "reviews",
    "review_comments",
    "series",
    "totals",
    "facets"
  ],
  "type": "object"
}

Request

Responses

On this page

No Headings
Schedule a demo