> For the complete documentation index, see [llms.txt](https://docs.openreview.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openreview.net/how-to-guides/data-retrieval-and-modification/how-to-get-reviewer-ratings.md).

# How to Get Reviewer Ratings

In order to get the existing Reviewer Ratings, you will need to use the [python client](/getting-started/using-the-api/installing-and-instantiating-the-python-client.md).

1. [Get all submissions](/how-to-guides/data-retrieval-and-modification/how-to-get-all-notes-for-submissions-reviews-rebuttals-etc.md) for your venue and check all the replies in each submission for the `/-/Rating` invitation. The issue is, there is no data about the reviewer of the Official Review in the Rating note, so you will need to get the author of the review separately or add them to the reviewer\_rating list from the review data. For this example I will do the latter.

<pre class="language-python"><code class="lang-python"># Add your venue ID as a string
venue_id = ''

submissions = client.get_all_notes(invitation=f'{venue_id}/-/Submission', details='replies')
<strong>reviewer_ratings = []
</strong>
for submission in submissions:
    # for each submission get replies that have the Rating invitation
    reply_rating = [reply for reply in submission.details["replies"] if any(invitation.endswith("/-/Rating") for invitation in reply['invitations'])]
    # for each rating get the reviewer that's being evaluated
    for reply in reply_rating:
        reviewer = client.get_note(reply['replyto']).signatures[0]
        # the reviewer is anonomized in the signature for single and doubleblind venues
        if venue_id in reviewer:
            reviewer_id = client.get_group(reviewer).members[0]
            reply["reviewer"] = reviewer_id
        else:
            reply["reviewer"] = reviewer
        # add the rating to the reviewer_ratings list
        reviewer_ratings.append(reply)

</code></pre>

Here is an example if you want to export certain fields to a CSV.

I chose the fields `forum`, `replyto`, `reviewer`, and `review_quality`:

* forum = the submission id
* replyto = the official review id
* reviewer = the profile ID of the reviewer
* review\_quality = the field name for the rating, this can change so check your Rating invitation

```python
import csv

# specify the CSV file name
csv_file = 'reviewer_ratings.csv'

# open the CSV file for writing
with open(csv_file, mode='w', newline='') as file:
    writer = csv.writer(file)
    
    # write the header row
    writer.writerow(['submission', 'official_review', 'reviewer', 'review_quality'])
    
    # write the data rows
    for rating in reviewer_ratings:
        submission = rating.get('forum')
        official_review = rating.get('replyto')
        reviewer = rating.get('reviewer')
        review_quality = rating.get('content', {}).get('review_quality', {}).get('value')
        
        writer.writerow([submission, official_review, reviewer, review_quality])

print(f"Data has been written to {csv_file}")
```

This file will be saved in your working directory.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.openreview.net/how-to-guides/data-retrieval-and-modification/how-to-get-reviewer-ratings.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
