Repository: hhursev/recipe-scrapers

Issue:
Rating total count?
I can see in the allrecipe.py file you have a ratings method, however I don't see a total count of people who made up that rating. I'm assuming because it's really schema driven, those types of details are implementation specific. Is it alright if I make a change specific to that AllRecipes class to handle something outside the scope of the schema and specifically for allrecipes.com?

Discussion:
jayaddison: Ah, brilliant - this information is available (sometimes) from `schema.org` data?  That seems to make a lot of sense to include :+1: 

I'll review the code soon (next few days).
jknndy: Yep, available right inside the `aggregateRating` that ratings is already gathered from!
jayaddison: Only that one question about the test data to figure out here - apart from that, this all seems good to me :+1:  Thank you @jknndy!

Patch:
diff --git a/docs/in-depth-guide-scraper-functions.md b/docs/in-depth-guide-scraper-functions.md
index a7a65732..22ee37cb 100644
--- a/docs/in-depth-guide-scraper-functions.md
+++ b/docs/in-depth-guide-scraper-functions.md
@@ -301,6 +301,15 @@ scraper.ratings()
 # Not implemented!
 ```
 
+### `ratings_count() -> float`
+
+Returns the total number of ratings contributed to the recipes rating.
+
+```py
+scraper.ratings_count()
+# Not implemented!
+```
+
 ### `reviews() -> List[Dict[str, str]]`
 
 Returns a `list` of reviews about the recipe from the website. Each review is a `dict` containing the reviewer's name (`str`) and their review (`str`).
diff --git a/recipe_scrapers/_abstract.py b/recipe_scrapers/_abstract.py
index 354d9eb6..15f6c690 100644
--- a/recipe_scrapers/_abstract.py
+++ b/recipe_scrapers/_abstract.py
@@ -164,6 +164,10 @@ class AbstractScraper:
         """Ratings of the recipe."""
         raise NotImplementedError("This should be implemented.")
 
+    def ratings_count(self):
+        """Total number of ratings of the recipe."""
+        raise NotImplementedError("This should be implemented.")
+
     def author(self):
         """Author of the recipe."""
         raise NotImplementedError("This should be implemented.")
diff --git a/recipe_scrapers/_schemaorg.py b/recipe_scrapers/_schemaorg.py
index 8e0ba9f7..cdf13dee 100644
--- a/recipe_scrapers/_schemaorg.py
+++ b/recipe_scrapers/_schemaorg.py
@@ -286,6 +286,19 @@ class SchemaOrg:
             return round(float(ratings), 2)
         raise SchemaOrgException("No ratingValue in SchemaOrg.")
 
+    def ratings_count(self):
+        ratings = self.data.get("aggregateRating") or self._find_entity(
+            self.data, "AggregateRating"
+        )
+        if isinstance(ratings, dict):
+            rating_id = ratings.get("@id")
+            if rating_id:
+                ratings = self.ratingsdata.get(rating_id, ratings)
+            ratings = ratings.get("ratingCount") or ratings.get("reviewCount")
+        if ratings:
+            return round(float(ratings), 2) if float(ratings) != 0 else None
+        raise SchemaOrgException("No ratingCount in SchemaOrg.")
+
     def cuisine(self):
         cuisine = self.data.get("recipeCuisine")
         if cuisine is None:
diff --git a/recipe_scrapers/bigoven.py b/recipe_scrapers/bigoven.py
index b81bea3c..f3925e12 100644
--- a/recipe_scrapers/bigoven.py
+++ b/recipe_scrapers/bigoven.py
@@ -25,17 +25,4 @@ class BigOven(AbstractScraper):
         return "\n".join([normalize_string(p.text) for p in ps])
 
     def ratings(self):
-        try:
-            cnt = (
-                self.soup.find("div", {"class": "recipe-rating"})
-                .find("span", {"class": "count"})
-                .text
-            )
-            rating = (
-                self.soup.find("div", {"class": "recipe-rating"})
-                .find("span", {"class": "rating"})
-                .text
-            )
-            return {"count": int(cnt), "rating": round(float(rating), 2)}
-        except Exception:
-            return None
+        return self.schema.ratings()
diff --git a/recipe_scrapers/plugins/schemaorg_fill.py b/recipe_scrapers/plugins/schemaorg_fill.py
index 9e4bb7f7..bf3c2d0b 100644
--- a/recipe_scrapers/plugins/schemaorg_fill.py
+++ b/recipe_scrapers/plugins/schemaorg_fill.py
@@ -38,6 +38,7 @@ class SchemaOrgFillPlugin(PluginInterface):
         "cook_time",
         "prep_time",
         "keywords",
+        "ratings_count",
     )
 
     @classmethod


Test patch:
diff --git a/tests/__init__.py b/tests/__init__.py
index aa8e4e46..6c69cde2 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -34,6 +34,7 @@ OPTIONAL_TESTS = [
     "ratings",
     "reviews",
     "equipment",
+    "ratings_count",
 ]
 
 
@@ -103,6 +104,8 @@ def test_func_factory(
         for key in OPTIONAL_TESTS:
             if key not in expect:
                 continue  # If the key isn't present, skip
+            if key == "ratings_count":
+                continue
             with self.subTest(key):
                 scraper_func = getattr(actual, key)
                 self.assertEqual(
@@ -111,8 +114,12 @@ def test_func_factory(
                     msg=f"The actual value for .{key}() did not match the expected value.",
                 )
 
-        # Assert that the ingredients returned by the ingredient_groups() function
-        # are the same as the ingredients return by the ingredients() function.
+        # Special handling for ratings_count
+        if "ratings_count" in expect.keys():
+            with self.subTest("ratings_count"):
+                ratings_count = actual.ratings_count()
+                self.assertGreaterEqual(ratings_count, expect["ratings_count"])
+
         grouped = []
         for group in actual.ingredient_groups():
             grouped.extend(group.ingredients)
diff --git a/tests/legacy/test_gousto.py b/tests/legacy/test_gousto.py
index 8caf41ea..2aadafb6 100644
--- a/tests/legacy/test_gousto.py
+++ b/tests/legacy/test_gousto.py
@@ -56,3 +56,6 @@ class TestGoustoScraper(ScraperTest):
 
     def test_ratings(self):
         self.assertEqual(5, self.harvester_class.ratings())
+
+    def test_ratings_count(self):
+        self.assertEqual(129, self.harvester_class.ratings_count())
diff --git a/tests/library/test_utils.py b/tests/library/test_utils.py
index 423a7d22..55b55dc9 100644
--- a/tests/library/test_utils.py
+++ b/tests/library/test_utils.py
@@ -95,6 +95,7 @@ class TestUtils(unittest.TestCase):
             "nutrients",
             "prep_time",
             "ratings",
+            "ratings_count",
             "reviews",
             "site_name",
             "title",
diff --git a/tests/test_data/101cookbooks.com/onehundredonecookbooks.json b/tests/test_data/101cookbooks.com/onehundredonecookbooks.json
index 57f32cb0..da150618 100644
--- a/tests/test_data/101cookbooks.com/onehundredonecookbooks.json
+++ b/tests/test_data/101cookbooks.com/onehundredonecookbooks.json
@@ -56,6 +56,7 @@
   },
   "prep_time": 10,
   "ratings": 5.0,
+  "ratings_count": 5,
   "site_name": "101 Cookbooks",
   "title": "Broccoli Soup with Coconut Milk",
   "total_time": 20,
diff --git a/tests/test_data/750g.com/g750g.json b/tests/test_data/750g.com/g750g.json
index d27bef47..b2094df3 100644
--- a/tests/test_data/750g.com/g750g.json
+++ b/tests/test_data/750g.com/g750g.json
@@ -51,6 +51,7 @@
   ],
   "language": "fr",
   "ratings": 4.0,
+  "ratings_count": 1,
   "site_name": "750 Grammes",
   "title": "Salade de carottes cuites et crues à l'orange",
   "total_time": 35,
diff --git a/tests/test_data/aberlehome.com/aberlehome.json b/tests/test_data/aberlehome.com/aberlehome.json
index 9d084767..92cd04df 100644
--- a/tests/test_data/aberlehome.com/aberlehome.json
+++ b/tests/test_data/aberlehome.com/aberlehome.json
@@ -66,6 +66,8 @@
   ],
   "language": "en-US",
   "site_name": "Aberle Home",
+  "rating": 2,
+  "ratings_count": 54,
   "title": "Sourdough Croissants",
   "total_time": 1335,
   "yields": "10 servings",
diff --git a/tests/test_data/addapinch.com/addapinch_1.json b/tests/test_data/addapinch.com/addapinch_1.json
index ee2b1937..627f2867 100644
--- a/tests/test_data/addapinch.com/addapinch_1.json
+++ b/tests/test_data/addapinch.com/addapinch_1.json
@@ -65,6 +65,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 4164,
   "site_name": "Add a Pinch",
   "title": "The Best Chocolate Cake Recipe {Ever}",
   "total_time": 45,
diff --git a/tests/test_data/addapinch.com/addapinch_2.json b/tests/test_data/addapinch.com/addapinch_2.json
index 2cbc0dd8..f52fae98 100644
--- a/tests/test_data/addapinch.com/addapinch_2.json
+++ b/tests/test_data/addapinch.com/addapinch_2.json
@@ -72,6 +72,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 4,
   "site_name": "Add a Pinch",
   "title": "Citrus Scones Recipe with Orange Glaze",
   "total_time": 30,
diff --git a/tests/test_data/ah.nl/albertheijn.json b/tests/test_data/ah.nl/albertheijn.json
index a0acc750..64743cc0 100644
--- a/tests/test_data/ah.nl/albertheijn.json
+++ b/tests/test_data/ah.nl/albertheijn.json
@@ -52,6 +52,7 @@
     "proteinContent": "17 g eiwit"
   },
   "ratings": 5.0,
+  "ratings_count": 10,
   "site_name": null,
   "title": "Rijkgevulde vegan pastasalade",
   "total_time": 20,
diff --git a/tests/test_data/akispetretzikis.com/akispetretzikis.json b/tests/test_data/akispetretzikis.com/akispetretzikis.json
index 13423234..d9ac8e20 100644
--- a/tests/test_data/akispetretzikis.com/akispetretzikis.json
+++ b/tests/test_data/akispetretzikis.com/akispetretzikis.json
@@ -66,6 +66,7 @@
     "calories": "231 calories"
   },
   "ratings": 4.91,
+  "ratings_count": 216,
   "site_name": "Akis Petretzikis",
   "title": "Lemon chicken with artichokes",
   "total_time": 40,
diff --git a/tests/test_data/allrecipes.com/allrecipescurated.json b/tests/test_data/allrecipes.com/allrecipescurated.json
index 93f3b91a..e878bcf2 100644
--- a/tests/test_data/allrecipes.com/allrecipescurated.json
+++ b/tests/test_data/allrecipes.com/allrecipescurated.json
@@ -57,6 +57,7 @@
   },
   "prep_time": 15.0,
   "ratings": 4.8,
+  "ratings_count": 487,
   "site_name": "Allrecipes",
   "title": "Four Cheese Margherita Pizza",
   "total_time": 40.0,
diff --git a/tests/test_data/alltommat.se/alltomat_1.json b/tests/test_data/alltommat.se/alltomat_1.json
index 02d2399f..7898e5ba 100644
--- a/tests/test_data/alltommat.se/alltomat_1.json
+++ b/tests/test_data/alltommat.se/alltomat_1.json
@@ -44,6 +44,7 @@
   ],
   "language": "sv",
   "ratings": 3.8,
+  "ratings_count": 924,
   "site_name": "Allt om Mat",
   "title": "Brioche-hamburgerbröd",
   "total_time": 155,
diff --git a/tests/test_data/alltommat.se/alltomat_2.json b/tests/test_data/alltommat.se/alltomat_2.json
index f8e19f3c..5a37943d 100644
--- a/tests/test_data/alltommat.se/alltomat_2.json
+++ b/tests/test_data/alltommat.se/alltomat_2.json
@@ -107,6 +107,7 @@
   ],
   "language": "sv",
   "ratings": 3.8,
+  "ratings_count": 197,
   "site_name": "Allt om Mat",
   "title": "Köttbullar med potatismos, gräddsås, gurka och lingon",
   "total_time": 50,
diff --git a/tests/test_data/altonbrown.com/altonbrown_1.json b/tests/test_data/altonbrown.com/altonbrown_1.json
index 044203e5..50d1dae8 100644
--- a/tests/test_data/altonbrown.com/altonbrown_1.json
+++ b/tests/test_data/altonbrown.com/altonbrown_1.json
@@ -45,6 +45,7 @@
   ],
   "language": "en-US",
   "ratings": 4.29,
+  "ratings_count": 276,
   "site_name": "Alton Brown",
   "title": "A Far, Far Better Cake",
   "total_time": 210,
diff --git a/tests/test_data/altonbrown.com/altonbrown_2.json b/tests/test_data/altonbrown.com/altonbrown_2.json
index 0d671f48..e89326f5 100644
--- a/tests/test_data/altonbrown.com/altonbrown_2.json
+++ b/tests/test_data/altonbrown.com/altonbrown_2.json
@@ -69,6 +69,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Alton Brown",
   "title": "Filipino-Style Pork Skewers with Vinegar Sauce",
   "total_time": 280,
diff --git a/tests/test_data/amazingribs.com/amazingribs_1.json b/tests/test_data/amazingribs.com/amazingribs_1.json
index 7ee38da8..168b2b22 100644
--- a/tests/test_data/amazingribs.com/amazingribs_1.json
+++ b/tests/test_data/amazingribs.com/amazingribs_1.json
@@ -49,6 +49,7 @@
   ],
   "language": "en-US",
   "ratings": 4.1,
+  "ratings_count": 105,
   "site_name": "Meathead's AmazingRibs.com",
   "title": "Texas Hot Guts Recipe",
   "total_time": 165,
diff --git a/tests/test_data/amazingribs.com/amazingribs_2.json b/tests/test_data/amazingribs.com/amazingribs_2.json
index c3455b8d..b83e7beb 100644
--- a/tests/test_data/amazingribs.com/amazingribs_2.json
+++ b/tests/test_data/amazingribs.com/amazingribs_2.json
@@ -43,6 +43,7 @@
   ],
   "language": "en-US",
   "ratings": 4.72,
+  "ratings_count": 7,
   "site_name": "Meathead's AmazingRibs.com",
   "title": "Brisket Burnt Ends Recipe",
   "total_time": 610,
diff --git a/tests/test_data/ambitiouskitchen.com/ambitiouskitchen.json b/tests/test_data/ambitiouskitchen.com/ambitiouskitchen.json
index 51b72f62..bf44b6c5 100644
--- a/tests/test_data/ambitiouskitchen.com/ambitiouskitchen.json
+++ b/tests/test_data/ambitiouskitchen.com/ambitiouskitchen.json
@@ -85,6 +85,7 @@
     "proteinContent": "19.1 g"
   },
   "ratings": 4.86,
+  "ratings_count": 54,
   "site_name": "Ambitious Kitchen",
   "title": "Vegetarian Spinach Pumpkin Lasagna",
   "total_time": 70,
diff --git a/tests/test_data/archanaskitchen.com/archanaskitchen_1.json b/tests/test_data/archanaskitchen.com/archanaskitchen_1.json
index 07c72389..d22e52d7 100644
--- a/tests/test_data/archanaskitchen.com/archanaskitchen_1.json
+++ b/tests/test_data/archanaskitchen.com/archanaskitchen_1.json
@@ -44,6 +44,7 @@
   ],
   "language": "en",
   "ratings": 4.94,
+  "ratings_count": 1078,
   "site_name": "Archana's Kitchen",
   "title": "Roasted Peppers And Mushroom Tortilla Pizza Recipe",
   "total_time": 30,
diff --git a/tests/test_data/archanaskitchen.com/archanaskitchen_2.json b/tests/test_data/archanaskitchen.com/archanaskitchen_2.json
index 921e9d3e..bc30d13e 100644
--- a/tests/test_data/archanaskitchen.com/archanaskitchen_2.json
+++ b/tests/test_data/archanaskitchen.com/archanaskitchen_2.json
@@ -56,6 +56,7 @@
   ],
   "language": "en",
   "ratings": 4.93,
+  "ratings_count": 3151,
   "site_name": "Archana's Kitchen",
   "title": "Classic Greek salad Recipe",
   "total_time": 30,
diff --git a/tests/test_data/arla.se/arla_1.json b/tests/test_data/arla.se/arla_1.json
index b2463017..a2bf03f3 100644
--- a/tests/test_data/arla.se/arla_1.json
+++ b/tests/test_data/arla.se/arla_1.json
@@ -65,6 +65,7 @@
     "proteinContent": "43 g"
   },
   "ratings": 4.2,
+  "ratings_count": 13,
   "site_name": "Arla",
   "title": "Reuben sandwich",
   "total_time": 40,
diff --git a/tests/test_data/arla.se/arla_2.json b/tests/test_data/arla.se/arla_2.json
index 32f5bdd9..2f5ebb53 100644
--- a/tests/test_data/arla.se/arla_2.json
+++ b/tests/test_data/arla.se/arla_2.json
@@ -69,6 +69,7 @@
     "proteinContent": "4 g"
   },
   "ratings": 3.5,
+  "ratings_count": 205,
   "site_name": "Arla",
   "title": "Trifle på äpple med smulkrisp och vaniljglass",
   "total_time": null,
diff --git a/tests/test_data/atelierdeschefs.fr/atelierdeschefs.json b/tests/test_data/atelierdeschefs.fr/atelierdeschefs.json
index 57c10a53..e3423b91 100644
--- a/tests/test_data/atelierdeschefs.fr/atelierdeschefs.json
+++ b/tests/test_data/atelierdeschefs.fr/atelierdeschefs.json
@@ -63,6 +63,7 @@
   ],
   "language": "fr",
   "ratings": 3.7,
+  "ratings_count": 297,
   "site_name": "https://www.atelierdeschefs.fr",
   "title": "Crêpe savoyarde",
   "total_time": 30,
diff --git a/tests/test_data/averiecooks.com/averiecooks.json b/tests/test_data/averiecooks.com/averiecooks.json
index be06c767..ba80f9c3 100644
--- a/tests/test_data/averiecooks.com/averiecooks.json
+++ b/tests/test_data/averiecooks.com/averiecooks.json
@@ -50,6 +50,7 @@
     "unsaturatedFatContent": "12 grams unsaturated fat"
   },
   "ratings": 5.0,
+  "ratings_count": 13,
   "site_name": "Averie Cooks",
   "title": "Balsamic Watermelon Cucumber Salad",
   "total_time": 20,
diff --git a/tests/test_data/baking-sense.com/bakingsense_1.json b/tests/test_data/baking-sense.com/bakingsense_1.json
index a32b1954..070422b8 100644
--- a/tests/test_data/baking-sense.com/bakingsense_1.json
+++ b/tests/test_data/baking-sense.com/bakingsense_1.json
@@ -77,6 +77,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.86,
+  "ratings_count": 7,
   "site_name": "Baking Sense®",
   "title": "Sourdough Bundt Cake with Buttermilk Glaze",
   "total_time": 60,
diff --git a/tests/test_data/baking-sense.com/bakingsense_2.json b/tests/test_data/baking-sense.com/bakingsense_2.json
index b07bb2e3..c3be0ead 100644
--- a/tests/test_data/baking-sense.com/bakingsense_2.json
+++ b/tests/test_data/baking-sense.com/bakingsense_2.json
@@ -73,6 +73,7 @@
     "unsaturatedFatContent": "3 g"
   },
   "ratings": 4.34,
+  "ratings_count": 15,
   "site_name": "Baking SenseÂ®",
   "title": "Chocolate Cake with Strawberry Mousse Recipe",
   "total_time": 250,
diff --git a/tests/test_data/bakingmischief.com/bakingmischief_2.json b/tests/test_data/bakingmischief.com/bakingmischief_2.json
index f2ea3561..b36b26c1 100644
--- a/tests/test_data/bakingmischief.com/bakingmischief_2.json
+++ b/tests/test_data/bakingmischief.com/bakingmischief_2.json
@@ -71,6 +71,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.88,
+  "ratings_count": 49,
   "site_name": "Baking Mischief",
   "title": "Small Carrot Cake",
   "total_time": 90,
diff --git a/tests/test_data/bettybossi.ch/bettybossi.json b/tests/test_data/bettybossi.ch/bettybossi.json
index 3ffe92df..f683db7b 100644
--- a/tests/test_data/bettybossi.ch/bettybossi.json
+++ b/tests/test_data/bettybossi.ch/bettybossi.json
@@ -63,6 +63,7 @@
     "servingSize": "30 parts"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": null,
   "title": "Minicheesecakes",
   "total_time": 90,
diff --git a/tests/test_data/bettycrocker.com/bettycrocker_1.json b/tests/test_data/bettycrocker.com/bettycrocker_1.json
index ce2b670b..1b2a668b 100644
--- a/tests/test_data/bettycrocker.com/bettycrocker_1.json
+++ b/tests/test_data/bettycrocker.com/bettycrocker_1.json
@@ -46,6 +46,7 @@
     "transFatContent": "0 g"
   },
   "ratings": 4.5,
+  "ratings_count": 60,
   "site_name": "BettyCrocker.com",
   "title": "Éclair Bars",
   "total_time": 290,
diff --git a/tests/test_data/bettycrocker.com/bettycrocker_2.json b/tests/test_data/bettycrocker.com/bettycrocker_2.json
index 4e97abb4..ec5d67d8 100644
--- a/tests/test_data/bettycrocker.com/bettycrocker_2.json
+++ b/tests/test_data/bettycrocker.com/bettycrocker_2.json
@@ -63,6 +63,7 @@
     "transFatContent": "1/2 g"
   },
   "ratings": 4.5,
+  "ratings_count": 96,
   "site_name": "BettyCrocker.com",
   "title": "Strawberry-Pretzel Salad",
   "total_time": 400,
diff --git a/tests/test_data/biancazapatka.com/biancazapatka_2.json b/tests/test_data/biancazapatka.com/biancazapatka_2.json
index b7148232..724bb607 100644
--- a/tests/test_data/biancazapatka.com/biancazapatka_2.json
+++ b/tests/test_data/biancazapatka.com/biancazapatka_2.json
@@ -95,6 +95,7 @@
     "sugarContent": "15.8 g"
   },
   "ratings": 5.0,
+  "ratings_count": 2,
   "site_name": "Bianca Zapatka",
   "title": "The Best Vegan Blueberry Cake",
   "total_time": 65,
diff --git a/tests/test_data/bigoven.com/bigoven_1.json b/tests/test_data/bigoven.com/bigoven_1.json
index 69ae5c59..92a5c14f 100644
--- a/tests/test_data/bigoven.com/bigoven_1.json
+++ b/tests/test_data/bigoven.com/bigoven_1.json
@@ -88,10 +88,8 @@
     "sugarContent": "0.0892560213952928 g",
     "transFatContent": "0.0131417293773331 g"
   },
-  "ratings": {
-    "count": 3,
-    "rating": 4.3
-  },
+  "ratings": 4.33,
+  "ratings_count": 3,
   "site_name": "BigOven.com",
   "title": "No-Knead Herb Focaccia",
   "total_time": 720,
diff --git a/tests/test_data/bigoven.com/bigoven_2.json b/tests/test_data/bigoven.com/bigoven_2.json
index 47aa0470..f2b1821b 100644
--- a/tests/test_data/bigoven.com/bigoven_2.json
+++ b/tests/test_data/bigoven.com/bigoven_2.json
@@ -75,10 +75,8 @@
     "sugarContent": "55.7385479494114 g",
     "transFatContent": "2.40130497025108 g"
   },
-  "ratings": {
-    "count": 24,
-    "rating": 4.0
-  },
+  "ratings": 3.96,
+  "ratings_count": 24,
   "site_name": "BigOven.com",
   "title": "White Chocolate Raspberry Cupcakes",
   "total_time": 25,
diff --git a/tests/test_data/blueapron.com/blueapron.json b/tests/test_data/blueapron.com/blueapron.json
index f0a57689..972bc948 100644
--- a/tests/test_data/blueapron.com/blueapron.json
+++ b/tests/test_data/blueapron.com/blueapron.json
@@ -53,6 +53,7 @@
     "calories": "730"
   },
   "ratings": 4.32,
+  "ratings_count": 2319,
   "site_name": "Blue Apron",
   "title": "BBQ Chickpeas & Farro with Corn, Cucumbers & Hard-Boiled Eggs",
   "total_time": 30,
diff --git a/tests/test_data/bluejeanchef.com/bluejeanchef_1.json b/tests/test_data/bluejeanchef.com/bluejeanchef_1.json
index 9a0aaa34..1ee704ba 100644
--- a/tests/test_data/bluejeanchef.com/bluejeanchef_1.json
+++ b/tests/test_data/bluejeanchef.com/bluejeanchef_1.json
@@ -73,6 +73,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.34,
+  "ratings_count": 3,
   "site_name": "Blue Jean Chef - Meredith Laurence",
   "title": "Chicken Tortilla Soup",
   "total_time": 22,
diff --git a/tests/test_data/bonappetit.com/bonappetit.json b/tests/test_data/bonappetit.com/bonappetit.json
index 2fd623a3..7bf0f97e 100644
--- a/tests/test_data/bonappetit.com/bonappetit.json
+++ b/tests/test_data/bonappetit.com/bonappetit.json
@@ -49,6 +49,7 @@
   ],
   "language": "en-US",
   "ratings": 3.8,
+  "ratings_count": 5,
   "site_name": "Bon Appétit",
   "title": "Pork Chops with Celery Salad",
   "total_time": null,
diff --git a/tests/test_data/bongeats.com/bongeats.json b/tests/test_data/bongeats.com/bongeats.json
index d8eb3ce9..88afc920 100644
--- a/tests/test_data/bongeats.com/bongeats.json
+++ b/tests/test_data/bongeats.com/bongeats.json
@@ -72,6 +72,7 @@
   },
   "prep_time": 20,
   "ratings": 97.9,
+  "ratings_count": 2053,
   "site_name": null,
   "title": "Lau Chingri",
   "total_time": 60,
diff --git a/tests/test_data/bowlofdelicious.com/bowlofdelicious.json b/tests/test_data/bowlofdelicious.com/bowlofdelicious.json
index d0e6a723..9baebe4e 100644
--- a/tests/test_data/bowlofdelicious.com/bowlofdelicious.json
+++ b/tests/test_data/bowlofdelicious.com/bowlofdelicious.json
@@ -54,6 +54,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.97,
+  "ratings_count": 1642,
   "site_name": "Bowl of Delicious",
   "title": "Six-Minute Seared Ahi Tuna Steaks",
   "total_time": 6,
diff --git a/tests/test_data/budgetbytes.com/budgetbytes.json b/tests/test_data/budgetbytes.com/budgetbytes.json
index c2fd36ed..809e7d6b 100644
--- a/tests/test_data/budgetbytes.com/budgetbytes.json
+++ b/tests/test_data/budgetbytes.com/budgetbytes.json
@@ -48,6 +48,7 @@
     "fiberContent": "1 g"
   },
   "ratings": 4.5,
+  "ratings_count": 20,
   "site_name": "Budget Bytes",
   "title": "Smash Burgers",
   "total_time": 40,
diff --git a/tests/test_data/budgetbytes.com/budgetbytes_groups.json b/tests/test_data/budgetbytes.com/budgetbytes_groups.json
index 1dbf8345..4d03febc 100644
--- a/tests/test_data/budgetbytes.com/budgetbytes_groups.json
+++ b/tests/test_data/budgetbytes.com/budgetbytes_groups.json
@@ -60,6 +60,7 @@
     "sodiumContent": "844.08 mg"
   },
   "ratings": 4.98,
+  "ratings_count": 106,
   "site_name": "Budget Bytes",
   "title": "Creamy Coconut Curry Lentils with Spinach",
   "total_time": 45,
diff --git a/tests/test_data/castironketo.net/castironketo.json b/tests/test_data/castironketo.net/castironketo.json
index f84051d3..890e54f2 100644
--- a/tests/test_data/castironketo.net/castironketo.json
+++ b/tests/test_data/castironketo.net/castironketo.json
@@ -58,6 +58,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.78,
+  "ratings_count": 9,
   "site_name": "Cast Iron Keto",
   "title": "Keto Jalapeño Popper Casserole with Chicken",
   "total_time": 45,
diff --git a/tests/test_data/chefkoch.de/chefkoch.json b/tests/test_data/chefkoch.de/chefkoch.json
index 1f6b2b75..dd64f0ce 100644
--- a/tests/test_data/chefkoch.de/chefkoch.json
+++ b/tests/test_data/chefkoch.de/chefkoch.json
@@ -64,6 +64,7 @@
   },
   "prep_time": 40.0,
   "ratings": 4.58,
+  "ratings_count": 1347,
   "site_name": "Chefkoch.de",
   "title": "Saftiger Hackbraten im Ofen",
   "total_time": 85.0,
diff --git a/tests/test_data/chefsavvy.com/chefsavvy.json b/tests/test_data/chefsavvy.com/chefsavvy.json
index 223dc455..43b880a9 100644
--- a/tests/test_data/chefsavvy.com/chefsavvy.json
+++ b/tests/test_data/chefsavvy.com/chefsavvy.json
@@ -56,6 +56,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.67,
+  "ratings_count": 18,
   "site_name": "Chef Savvy",
   "title": "Slow Cooker Broccoli Beef",
   "total_time": 310,
diff --git a/tests/test_data/claudia.abril.com.br/abril.json b/tests/test_data/claudia.abril.com.br/abril.json
index a3db92b9..62476fc1 100644
--- a/tests/test_data/claudia.abril.com.br/abril.json
+++ b/tests/test_data/claudia.abril.com.br/abril.json
@@ -48,6 +48,7 @@
   ],
   "language": "pt-BR",
   "ratings": 4.0,
+  "ratings_count": 27,
   "site_name": "CLAUDIA",
   "title": "Estrogonofe de carne",
   "total_time": 30,
diff --git a/tests/test_data/comidinhasdochef.com/comidinhasdochef.json b/tests/test_data/comidinhasdochef.com/comidinhasdochef.json
index 544fe0a1..31851e63 100644
--- a/tests/test_data/comidinhasdochef.com/comidinhasdochef.json
+++ b/tests/test_data/comidinhasdochef.com/comidinhasdochef.json
@@ -65,6 +65,7 @@
     "fatContent": "10 g"
   },
   "ratings": 4.8,
+  "ratings_count": 75,
   "site_name": "Comidinhas do Chef",
   "title": "Coxa de Frango na Fritadeira Elétrica",
   "total_time": 30,
diff --git a/tests/test_data/cookeatshare.com/cookeatshare.json b/tests/test_data/cookeatshare.com/cookeatshare.json
index 69929f22..6918e445 100644
--- a/tests/test_data/cookeatshare.com/cookeatshare.json
+++ b/tests/test_data/cookeatshare.com/cookeatshare.json
@@ -44,6 +44,7 @@
     "proteinContent": "31.16 g"
   },
   "ratings": 1.0,
+  "ratings_count": 1,
   "site_name": null,
   "title": "Pork Steak Vegetable Bake",
   "total_time": null
diff --git a/tests/test_data/cookieandkate.com/cookieandkate.json b/tests/test_data/cookieandkate.com/cookieandkate.json
index 441efbbd..02507149 100644
--- a/tests/test_data/cookieandkate.com/cookieandkate.json
+++ b/tests/test_data/cookieandkate.com/cookieandkate.json
@@ -60,6 +60,7 @@
     "cholesterolContent": "178.6 mg"
   },
   "ratings": 4.9,
+  "ratings_count": 59,
   "site_name": "Cookie and Kate",
   "title": "Broccoli, Cheddar & Spinach Frittata",
   "total_time": 40,
diff --git a/tests/test_data/cooking.nytimes.com/nytimes.json b/tests/test_data/cooking.nytimes.com/nytimes.json
index 2ffa82cc..392a110e 100644
--- a/tests/test_data/cooking.nytimes.com/nytimes.json
+++ b/tests/test_data/cooking.nytimes.com/nytimes.json
@@ -59,6 +59,7 @@
     "transFatContent": "0 grams"
   },
   "ratings": 4.0,
+  "ratings_count": 228,
   "site_name": "NYT Cooking",
   "title": "Cacio e Pepe Crackers",
   "total_time": 45,
diff --git a/tests/test_data/cooking.nytimes.com/nytimes_groups.json b/tests/test_data/cooking.nytimes.com/nytimes_groups.json
index 3a335680..6b79c442 100644
--- a/tests/test_data/cooking.nytimes.com/nytimes_groups.json
+++ b/tests/test_data/cooking.nytimes.com/nytimes_groups.json
@@ -81,6 +81,7 @@
     "transFatContent": "0 grams"
   },
   "ratings": 4.0,
+  "ratings_count": 559,
   "site_name": "NYT Cooking",
   "title": "Crispy Potato Tacos",
   "total_time": 75,
diff --git a/tests/test_data/copykat.com/copykat.json b/tests/test_data/copykat.com/copykat.json
index 3d7765de..c04cebd0 100644
--- a/tests/test_data/copykat.com/copykat.json
+++ b/tests/test_data/copykat.com/copykat.json
@@ -59,6 +59,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 3,
   "site_name": "CopyKat Recipes",
   "title": "Make Tender Beef Tips and Gravy",
   "total_time": 40,
diff --git a/tests/test_data/countryliving.com/countryliving.json b/tests/test_data/countryliving.com/countryliving.json
index d3a1b548..faec514a 100644
--- a/tests/test_data/countryliving.com/countryliving.json
+++ b/tests/test_data/countryliving.com/countryliving.json
@@ -45,6 +45,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Country Living",
   "title": "Honey-Apple Baked Brie with Fried Sage",
   "total_time": 35,
diff --git a/tests/test_data/cucchiaio.it/cucchiaio.json b/tests/test_data/cucchiaio.it/cucchiaio.json
index 487a9a1e..d7c20f37 100644
--- a/tests/test_data/cucchiaio.it/cucchiaio.json
+++ b/tests/test_data/cucchiaio.it/cucchiaio.json
@@ -48,6 +48,7 @@
   ],
   "language": "it",
   "ratings": 4.0,
+  "ratings_count": 7,
   "site_name": "Il Cucchiaio d'Argento",
   "title": "Pesce spada al miele millefiori, pomodorini e patatine novelle",
   "keywords": [
diff --git a/tests/test_data/cuisineaz.com/cuisineaz.json b/tests/test_data/cuisineaz.com/cuisineaz.json
index 01e5978e..f5dcb569 100644
--- a/tests/test_data/cuisineaz.com/cuisineaz.json
+++ b/tests/test_data/cuisineaz.com/cuisineaz.json
@@ -37,6 +37,7 @@
     "calories": "339 calories"
   },
   "ratings": 4.9,
+  "ratings_count": 18,
   "site_name": "Cuisine AZ",
   "title": "Filet de saumon au four",
   "total_time": 15,
diff --git a/tests/test_data/cybercook.com.br/cybercook.json b/tests/test_data/cybercook.com.br/cybercook.json
index 5b642b07..e74b2bb5 100644
--- a/tests/test_data/cybercook.com.br/cybercook.json
+++ b/tests/test_data/cybercook.com.br/cybercook.json
@@ -48,6 +48,7 @@
     "calories": "485.09"
   },
   "ratings": 4.0,
+  "ratings_count": 81,
   "site_name": null,
   "title": "Strogonoff de Frango",
   "total_time": 30,
diff --git a/tests/test_data/delish.com/delish_1.json b/tests/test_data/delish.com/delish_1.json
index cb75f613..efc4045f 100644
--- a/tests/test_data/delish.com/delish_1.json
+++ b/tests/test_data/delish.com/delish_1.json
@@ -61,6 +61,7 @@
   ],
   "language": "en-US",
   "ratings": 4.27,
+  "ratings_count": 11,
   "site_name": "Delish",
   "title": "Pumpkin Cheesecake Roll",
   "total_time": 60,
diff --git a/tests/test_data/delish.com/delish_2.json b/tests/test_data/delish.com/delish_2.json
index a7fc0c35..dc2abaec 100644
--- a/tests/test_data/delish.com/delish_2.json
+++ b/tests/test_data/delish.com/delish_2.json
@@ -70,6 +70,7 @@
     "proteinContent": "1 g"
   },
   "ratings": 3.0,
+  "ratings_count": 3,
   "site_name": "Delish",
   "title": "Apple Cookies",
   "total_time": 100,
diff --git a/tests/test_data/delish.com/delish_rogue_ol.json b/tests/test_data/delish.com/delish_rogue_ol.json
index d6b5b7b4..0be549e1 100644
--- a/tests/test_data/delish.com/delish_rogue_ol.json
+++ b/tests/test_data/delish.com/delish_rogue_ol.json
@@ -55,6 +55,7 @@
   ],
   "language": "en-us",
   "ratings": 3.43,
+  "ratings_count": 7,
   "site_name": "Delish",
   "title": "Baileys Cheesecake",
   "total_time": 480,
diff --git a/tests/test_data/domesticate-me.com/domesticateme_1.json b/tests/test_data/domesticate-me.com/domesticateme_1.json
index 109788cc..b5c920e1 100644
--- a/tests/test_data/domesticate-me.com/domesticateme_1.json
+++ b/tests/test_data/domesticate-me.com/domesticateme_1.json
@@ -65,6 +65,7 @@
   ],
   "language": "en-US",
   "ratings": 4.94,
+  "ratings_count": 29,
   "site_name": "Domesticate ME",
   "title": "The Dude Diet: Buffalo Chicken Quinoa Bake",
   "total_time": 60,
diff --git a/tests/test_data/downshiftology.com/downshiftology.json b/tests/test_data/downshiftology.com/downshiftology.json
index e5935e14..fe723a05 100644
--- a/tests/test_data/downshiftology.com/downshiftology.json
+++ b/tests/test_data/downshiftology.com/downshiftology.json
@@ -64,6 +64,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 31,
   "site_name": "Downshiftology",
   "title": "Greek Chicken Kabobs",
   "total_time": 55,
diff --git a/tests/test_data/eatingbirdfood.com/eatingbirdfood.json b/tests/test_data/eatingbirdfood.com/eatingbirdfood.json
index 721f1330..5c7c34a8 100644
--- a/tests/test_data/eatingbirdfood.com/eatingbirdfood.json
+++ b/tests/test_data/eatingbirdfood.com/eatingbirdfood.json
@@ -65,6 +65,7 @@
     "unsaturatedFatContent": "6 g"
   },
   "ratings": 4.45,
+  "ratings_count": 54,
   "site_name": "Eating Bird Food",
   "title": "Easy Shakshuka",
   "total_time": 40,
diff --git a/tests/test_data/eatingwell.com/eatingwell.json b/tests/test_data/eatingwell.com/eatingwell.json
index 45f38a5d..0b8076bc 100644
--- a/tests/test_data/eatingwell.com/eatingwell.json
+++ b/tests/test_data/eatingwell.com/eatingwell.json
@@ -61,6 +61,7 @@
     "unsaturatedFatContent": "0 g"
   },
   "ratings": 4.5,
+  "ratings_count": 33,
   "site_name": "EatingWell",
   "title": "Cheesy Ground Beef & Cauliflower Casserole",
   "total_time": 30,
diff --git a/tests/test_data/eatsmarter.com/eatsmarter.json b/tests/test_data/eatsmarter.com/eatsmarter.json
index 146fd146..fa592ec5 100644
--- a/tests/test_data/eatsmarter.com/eatsmarter.json
+++ b/tests/test_data/eatsmarter.com/eatsmarter.json
@@ -59,6 +59,7 @@
   },
   "prep_time": null,
   "ratings": 4.5,
+  "ratings_count": 4,
   "site_name": "Eat Smarter USA",
   "title": "Pumpkin Black Bean Salad",
   "total_time": 35,
diff --git a/tests/test_data/eatwell101.com/eatwell101.json b/tests/test_data/eatwell101.com/eatwell101.json
index 52dabc30..f9ac9ed4 100644
--- a/tests/test_data/eatwell101.com/eatwell101.json
+++ b/tests/test_data/eatwell101.com/eatwell101.json
@@ -67,6 +67,7 @@
     "calories": "516 calories"
   },
   "ratings": 4.7,
+  "ratings_count": 15,
   "site_name": "Eatwell101",
   "title": "Creamy Spinach Turkey Meatballs",
   "total_time": 40,
diff --git a/tests/test_data/elavegan.com/elavegan_1.json b/tests/test_data/elavegan.com/elavegan_1.json
index 6a751325..c94683b4 100644
--- a/tests/test_data/elavegan.com/elavegan_1.json
+++ b/tests/test_data/elavegan.com/elavegan_1.json
@@ -67,6 +67,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.95,
+  "ratings_count": 125,
   "site_name": "Elavegan",
   "title": "Red Lentil Dahl",
   "total_time": 30,
diff --git a/tests/test_data/elavegan.com/elavegan_2.json b/tests/test_data/elavegan.com/elavegan_2.json
index b14ce8ec..f552cd8d 100644
--- a/tests/test_data/elavegan.com/elavegan_2.json
+++ b/tests/test_data/elavegan.com/elavegan_2.json
@@ -86,6 +86,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.95,
+  "ratings_count": 39,
   "site_name": "Elavegan",
   "title": "Vegan Coffee Cake",
   "total_time": 55,
diff --git a/tests/test_data/emmikochteinfach.de/emmikochteinfach.json b/tests/test_data/emmikochteinfach.de/emmikochteinfach.json
index 08127a66..15792e66 100644
--- a/tests/test_data/emmikochteinfach.de/emmikochteinfach.json
+++ b/tests/test_data/emmikochteinfach.de/emmikochteinfach.json
@@ -53,6 +53,7 @@
   "language": "de-DE",
   "prep_time": 30,
   "ratings": 4.99,
+  "ratings_count": 716,
   "site_name": "emmikochteinfach",
   "title": "Klassisches Rindergulasch ganz einfach",
   "total_time": 120,
diff --git a/tests/test_data/epicurious.com/epicurious.json b/tests/test_data/epicurious.com/epicurious.json
index a3605551..c8acb39d 100644
--- a/tests/test_data/epicurious.com/epicurious.json
+++ b/tests/test_data/epicurious.com/epicurious.json
@@ -33,6 +33,7 @@
   ],
   "language": "en",
   "ratings": 4.0,
+  "ratings_count": 4,
   "site_name": "Epicurious",
   "title": "Ramen Noodle Bowl with Escarole and Spicy Tofu Crumbles",
   "yields": "2 servings"
diff --git a/tests/test_data/errenskitchen.com/errenskitchen.json b/tests/test_data/errenskitchen.com/errenskitchen.json
index 1542e13b..31547216 100644
--- a/tests/test_data/errenskitchen.com/errenskitchen.json
+++ b/tests/test_data/errenskitchen.com/errenskitchen.json
@@ -67,6 +67,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 18,
   "site_name": "Erren's Kitchen",
   "title": "Creamy Sun-Dried Tomato Pasta with Chicken",
   "total_time": 30,
diff --git a/tests/test_data/farmhouseonboone.com/farmhouseonboone.json b/tests/test_data/farmhouseonboone.com/farmhouseonboone.json
index 090bfe73..becfd829 100644
--- a/tests/test_data/farmhouseonboone.com/farmhouseonboone.json
+++ b/tests/test_data/farmhouseonboone.com/farmhouseonboone.json
@@ -75,6 +75,7 @@
     "unsaturatedFatContent": "9 grams unsaturated fat"
   },
   "ratings": 4.5,
+  "ratings_count": 59,
   "site_name": "Farmhouse on Boone",
   "title": "Sourdough Croissants",
   "total_time": 900,
diff --git a/tests/test_data/fattoincasadabenedetta.it/fattoincasadabenedetta.json b/tests/test_data/fattoincasadabenedetta.it/fattoincasadabenedetta.json
index dba80983..e1114da1 100644
--- a/tests/test_data/fattoincasadabenedetta.it/fattoincasadabenedetta.json
+++ b/tests/test_data/fattoincasadabenedetta.it/fattoincasadabenedetta.json
@@ -54,6 +54,7 @@
   ],
   "language": "it-IT",
   "ratings": 3.8,
+  "ratings_count": 266,
   "site_name": "Fatto in casa da Benedetta",
   "title": "Torta fredda al limone",
   "total_time": 45.0,
diff --git a/tests/test_data/feastingathome.com/feastingathome.json b/tests/test_data/feastingathome.com/feastingathome.json
index 88029f8c..204b4267 100644
--- a/tests/test_data/feastingathome.com/feastingathome.json
+++ b/tests/test_data/feastingathome.com/feastingathome.json
@@ -67,6 +67,7 @@
     "If adding the prawns, mix spices and salt in a bowl. Coat shrimp with the spices. Heat 2-3 tablespoons oil in a skillet (you may need to do this in batches) over medium-high heat, sear each side 2-3 minutes or until cooked through. Top the risotto with the seared prawns."
   ],
   "ratings": 4.9,
+  "ratings_count": 35,
   "cuisine": "Spanish",
   "description": "Tomato Risotto with juicy vine-ripened tomatoes, and infused with saffron, can be served as a vegetarian main or side dish, or topped off with smoky shrimp.",
   "total_time": 60,
diff --git a/tests/test_data/fifteenspatulas.com/fifteenspatulas.json b/tests/test_data/fifteenspatulas.com/fifteenspatulas.json
index 629e39a3..fc253a33 100644
--- a/tests/test_data/fifteenspatulas.com/fifteenspatulas.json
+++ b/tests/test_data/fifteenspatulas.com/fifteenspatulas.json
@@ -51,6 +51,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 10,
   "site_name": "Fifteen Spatulas",
   "title": "Creme Brulee",
   "total_time": 420,
diff --git a/tests/test_data/finedininglovers.com/finedininglovers.json b/tests/test_data/finedininglovers.com/finedininglovers.json
index db43c418..7d718b78 100644
--- a/tests/test_data/finedininglovers.com/finedininglovers.json
+++ b/tests/test_data/finedininglovers.com/finedininglovers.json
@@ -60,6 +60,7 @@
   ],
   "language": "en",
   "ratings": 3.17,
+  "ratings_count": 60,
   "site_name": null,
   "title": "Zucchini Raw Vegan Lasagna",
   "total_time": 50.0,
diff --git a/tests/test_data/food.com/food.json b/tests/test_data/food.com/food.json
index b9330bd2..0d5bca65 100644
--- a/tests/test_data/food.com/food.json
+++ b/tests/test_data/food.com/food.json
@@ -66,5 +66,6 @@
     "< 60 Mins",
     "Beginner Cook",
     "Easy"
-  ]
+  ],
+  "ratings_count": 2
 }
diff --git a/tests/test_data/food52.com/food52.json b/tests/test_data/food52.com/food52.json
index bdfa9e5a..454f863f 100644
--- a/tests/test_data/food52.com/food52.json
+++ b/tests/test_data/food52.com/food52.json
@@ -53,6 +53,7 @@
   ],
   "language": "en-us",
   "ratings": 4.56,
+  "ratings_count": 9,
   "site_name": "Food52",
   "title": "Sticky Pomegranate & Black Pepper Chicken Wings",
   "total_time": 1520,
diff --git a/tests/test_data/foodfidelity.com/foodfidelity.json b/tests/test_data/foodfidelity.com/foodfidelity.json
index bf4bfd62..0bdb7d70 100644
--- a/tests/test_data/foodfidelity.com/foodfidelity.json
+++ b/tests/test_data/foodfidelity.com/foodfidelity.json
@@ -51,6 +51,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 11,
   "site_name": "Food Fidelity",
   "title": "Strawberry Oatmeal with Orange Juice",
   "total_time": 7,
diff --git a/tests/test_data/foodfidelity.com/foodfidelity_groups.json b/tests/test_data/foodfidelity.com/foodfidelity_groups.json
index acd8fd8c..2aa5a625 100644
--- a/tests/test_data/foodfidelity.com/foodfidelity_groups.json
+++ b/tests/test_data/foodfidelity.com/foodfidelity_groups.json
@@ -81,6 +81,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Food Fidelity",
   "title": "Citrus Israeli Couscous Salad With Asparagus and Cranberries",
   "total_time": 35,
diff --git a/tests/test_data/forksoverknives.com/forksoverknives.json b/tests/test_data/forksoverknives.com/forksoverknives.json
index 9ca962b6..b70ea74f 100644
--- a/tests/test_data/forksoverknives.com/forksoverknives.json
+++ b/tests/test_data/forksoverknives.com/forksoverknives.json
@@ -46,6 +46,7 @@
   ],
   "language": "en-US",
   "ratings": 4.07,
+  "ratings_count": 54,
   "site_name": "Forks Over Knives",
   "title": "Butternut Squash Mac and Cheese with Broccoli",
   "total_time": 30,
diff --git a/tests/test_data/forktospoon.com/forktospoon.json b/tests/test_data/forktospoon.com/forktospoon.json
index 4a672cb0..cd573633 100644
--- a/tests/test_data/forktospoon.com/forktospoon.json
+++ b/tests/test_data/forktospoon.com/forktospoon.json
@@ -58,6 +58,7 @@
     "unsaturatedFatContent": "3 g"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Fork To Spoon",
   "title": "Air Fryer Parmesan Tomatoes",
   "total_time": 20,
diff --git a/tests/test_data/gimmesomeoven.com/gimmesomeoven.json b/tests/test_data/gimmesomeoven.com/gimmesomeoven.json
index 5cb68cca..c04b1768 100644
--- a/tests/test_data/gimmesomeoven.com/gimmesomeoven.json
+++ b/tests/test_data/gimmesomeoven.com/gimmesomeoven.json
@@ -38,6 +38,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 17,
   "site_name": "Gimme Some Oven",
   "title": "Sangria",
   "total_time": 10,
diff --git a/tests/test_data/godt.no/godt.json b/tests/test_data/godt.no/godt.json
index bd73f28d..f113915b 100644
--- a/tests/test_data/godt.no/godt.json
+++ b/tests/test_data/godt.no/godt.json
@@ -34,6 +34,7 @@
   ],
   "language": "nb",
   "ratings": 4.26,
+  "ratings_count": 19,
   "site_name": "godt.no",
   "title": "Grove pannekaker - Perfekt middag",
   "total_time": 60,
diff --git a/tests/test_data/gonnawantseconds.com/gonnawantseconds.json b/tests/test_data/gonnawantseconds.com/gonnawantseconds.json
index 7d7ad427..68c00f2e 100644
--- a/tests/test_data/gonnawantseconds.com/gonnawantseconds.json
+++ b/tests/test_data/gonnawantseconds.com/gonnawantseconds.json
@@ -53,6 +53,7 @@
     "sugarContent": "5.5 g"
   },
   "ratings": 5.0,
+  "ratings_count": 85,
   "site_name": "Gonna Want Seconds",
   "title": "White Chicken Enchiladas",
   "total_time": 40,
diff --git a/tests/test_data/halfbakedharvest.com/halfbakedharvest.json b/tests/test_data/halfbakedharvest.com/halfbakedharvest.json
index f7e2f0b2..388ddc4f 100644
--- a/tests/test_data/halfbakedharvest.com/halfbakedharvest.json
+++ b/tests/test_data/halfbakedharvest.com/halfbakedharvest.json
@@ -58,6 +58,7 @@
   },
   "prep_time": 15,
   "ratings": 4.59,
+  "ratings_count": 179,
   "site_name": "Half Baked Harvest",
   "title": "Brown Butter Corn and Feta Orzo with Crispy Prosciutto",
   "total_time": 25,
diff --git a/tests/test_data/halfbakedharvest.com/halfbakedharvest_groups.json b/tests/test_data/halfbakedharvest.com/halfbakedharvest_groups.json
index c0abb474..572fe125 100644
--- a/tests/test_data/halfbakedharvest.com/halfbakedharvest_groups.json
+++ b/tests/test_data/halfbakedharvest.com/halfbakedharvest_groups.json
@@ -71,6 +71,7 @@
   },
   "prep_time": 20,
   "ratings": 4.8,
+  "ratings_count": 58,
   "site_name": "Half Baked Harvest",
   "title": "Street Corn Pasta Salad",
   "total_time": 30,
diff --git a/tests/test_data/handletheheat.com/handletheheat.json b/tests/test_data/handletheheat.com/handletheheat.json
index 0922374a..0be99e81 100644
--- a/tests/test_data/handletheheat.com/handletheheat.json
+++ b/tests/test_data/handletheheat.com/handletheheat.json
@@ -44,6 +44,7 @@
     "Brownies can be stored in an airtight container at room temperature for up to 3 days."
   ],
   "ratings": 4.84,
+  "ratings_count": 900,
   "site_name": "Handle the Heat",
   "title": "Best Ever Chewy Brownies",
   "total_time": 45,
diff --git a/tests/test_data/hassanchef.com/hassanchef.json b/tests/test_data/hassanchef.com/hassanchef.json
index 57ca62ba..f9462225 100644
--- a/tests/test_data/hassanchef.com/hassanchef.json
+++ b/tests/test_data/hassanchef.com/hassanchef.json
@@ -128,6 +128,7 @@
     "fatContent": "22 g"
   },
   "ratings": 4.0,
+  "ratings_count": 5,
   "site_name": "hassanchef restaurant style recipes",
   "title": "Chicken lollipop recipe",
   "total_time": 30,
diff --git a/tests/test_data/headbangerskitchen.com/headbangerskitchen.json b/tests/test_data/headbangerskitchen.com/headbangerskitchen.json
index 87a8a7e0..09d71af0 100644
--- a/tests/test_data/headbangerskitchen.com/headbangerskitchen.json
+++ b/tests/test_data/headbangerskitchen.com/headbangerskitchen.json
@@ -39,6 +39,7 @@
   ],
   "language": "en-US",
   "ratings": 4.41,
+  "ratings_count": 10,
   "site_name": "Headbanger's Kitchen",
   "title": "Keto Omelet (Indian Style)",
   "total_time": 10,
diff --git a/tests/test_data/hostthetoast.com/hostthetoast.json b/tests/test_data/hostthetoast.com/hostthetoast.json
index 99fcb263..9e2fd759 100644
--- a/tests/test_data/hostthetoast.com/hostthetoast.json
+++ b/tests/test_data/hostthetoast.com/hostthetoast.json
@@ -43,6 +43,7 @@
   ],
   "language": "en-US",
   "ratings": 4.8,
+  "ratings_count": 60,
   "site_name": "Host The Toast",
   "title": "Homemade Garlic Naan",
   "total_time": 135,
diff --git a/tests/test_data/ica.se/ica.json b/tests/test_data/ica.se/ica.json
index 0513a198..e8f89184 100644
--- a/tests/test_data/ica.se/ica.json
+++ b/tests/test_data/ica.se/ica.json
@@ -70,6 +70,7 @@
     "proteinContent": "47 g"
   },
   "ratings": 4.5,
+  "ratings_count": 1262,
   "site_name": "ICA.se",
   "title": "Lysande gul fiskgryta",
   "total_time": 45,
diff --git a/tests/test_data/im-worthy.com/imworthy.json b/tests/test_data/im-worthy.com/imworthy.json
index bcc7716b..51087e84 100644
--- a/tests/test_data/im-worthy.com/imworthy.json
+++ b/tests/test_data/im-worthy.com/imworthy.json
@@ -46,6 +46,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 9,
   "site_name": "IM-WORTHY",
   "title": "Vegan Almond Flour Pancakes (Fluffy & Gluten-free)",
   "total_time": 25,
diff --git a/tests/test_data/indianhealthyrecipes.com/indianhealthyrecipes.json b/tests/test_data/indianhealthyrecipes.com/indianhealthyrecipes.json
index c9862474..0974a04b 100644
--- a/tests/test_data/indianhealthyrecipes.com/indianhealthyrecipes.json
+++ b/tests/test_data/indianhealthyrecipes.com/indianhealthyrecipes.json
@@ -65,6 +65,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.96,
+  "ratings_count": 373,
   "site_name": "Swasthi's Recipes",
   "title": "Banana Cake Recipe",
   "total_time": 50,
diff --git a/tests/test_data/insanelygoodrecipes.com/insanelygoodrecipes.json b/tests/test_data/insanelygoodrecipes.com/insanelygoodrecipes.json
index 9281673c..16bfa79e 100644
--- a/tests/test_data/insanelygoodrecipes.com/insanelygoodrecipes.json
+++ b/tests/test_data/insanelygoodrecipes.com/insanelygoodrecipes.json
@@ -46,5 +46,6 @@
   "site_name": "Insanely Good Recipes",
   "title": "Crockpot Angel Chicken (Easy Slow Cooker Recipe)",
   "total_time": 250,
-  "yields": "6 servings"
+  "yields": "6 servings",
+  "ratings_count": 2
 }
diff --git a/tests/test_data/izzycooking.com/izzycooking.json b/tests/test_data/izzycooking.com/izzycooking.json
index 97122563..8a04154d 100644
--- a/tests/test_data/izzycooking.com/izzycooking.json
+++ b/tests/test_data/izzycooking.com/izzycooking.json
@@ -54,6 +54,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.93,
+  "ratings_count": 13,
   "site_name": "IzzyCooking",
   "title": "Oreo Cheesecake Bites Recipe (+Video)",
   "total_time": 35,
diff --git a/tests/test_data/jimcooksfoodgood.com/jimcooksfoodgood.json b/tests/test_data/jimcooksfoodgood.com/jimcooksfoodgood.json
index b8e63e1a..8d262ae7 100644
--- a/tests/test_data/jimcooksfoodgood.com/jimcooksfoodgood.json
+++ b/tests/test_data/jimcooksfoodgood.com/jimcooksfoodgood.json
@@ -45,6 +45,7 @@
     "calories": "222 kcal"
   },
   "ratings": 5.0,
+  "ratings_count": 2,
   "site_name": "Jim Cooks Food Good!",
   "title": "German Potato Salad",
   "total_time": 40,
diff --git a/tests/test_data/joyfoodsunshine.com/joyfoodsunshine.json b/tests/test_data/joyfoodsunshine.com/joyfoodsunshine.json
index d1b2ec72..b55b6ff3 100644
--- a/tests/test_data/joyfoodsunshine.com/joyfoodsunshine.json
+++ b/tests/test_data/joyfoodsunshine.com/joyfoodsunshine.json
@@ -56,6 +56,7 @@
     "unsaturatedFatContent": "1 g"
   },
   "ratings": 4.98,
+  "ratings_count": 730,
   "site_name": "JoyFoodSunshine",
   "title": "Easy Homemade Pizza Dough",
   "total_time": 30,
diff --git a/tests/test_data/justataste.com/justataste.json b/tests/test_data/justataste.com/justataste.json
index bde4bfc3..974cbc6c 100644
--- a/tests/test_data/justataste.com/justataste.json
+++ b/tests/test_data/justataste.com/justataste.json
@@ -62,6 +62,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.5,
+  "ratings_count": 12,
   "site_name": "Just a Taste",
   "title": "Baked Chicken and Cheese Taquitos (Oven or Air Fryer)",
   "total_time": 55,
diff --git a/tests/test_data/justonecookbook.com/justonecookbook.json b/tests/test_data/justonecookbook.com/justonecookbook.json
index 9c1d5b3d..083f69b4 100644
--- a/tests/test_data/justonecookbook.com/justonecookbook.json
+++ b/tests/test_data/justonecookbook.com/justonecookbook.json
@@ -74,6 +74,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.67,
+  "ratings_count": 68,
   "site_name": "Just One Cookbook",
   "title": "Yaki Onigiri (Grilled Rice Ball)",
   "total_time": 30,
diff --git a/tests/test_data/kingarthurbaking.com/kingarthur.json b/tests/test_data/kingarthurbaking.com/kingarthur.json
index 78d9465b..390cda04 100644
--- a/tests/test_data/kingarthurbaking.com/kingarthur.json
+++ b/tests/test_data/kingarthurbaking.com/kingarthur.json
@@ -67,6 +67,7 @@
     "transFatContent": "0g"
   },
   "ratings": 4.8,
+  "ratings_count": 104,
   "site_name": "King Arthur Baking",
   "title": "Spiced Rye Ginger Cookies",
   "total_time": 35,
diff --git a/tests/test_data/kitchenstories.com/kitchenstories.json b/tests/test_data/kitchenstories.com/kitchenstories.json
index 29080024..3de15666 100644
--- a/tests/test_data/kitchenstories.com/kitchenstories.json
+++ b/tests/test_data/kitchenstories.com/kitchenstories.json
@@ -41,6 +41,7 @@
   },
   "prep_time": 20,
   "ratings": 0.81,
+  "ratings_count": 4,
   "site_name": "Kitchen Stories",
   "title": "Special strawberry jam with matcha",
   "total_time": 80,
diff --git a/tests/test_data/kochbar.de/kochbar.json b/tests/test_data/kochbar.de/kochbar.json
index b947ece7..8366075f 100644
--- a/tests/test_data/kochbar.de/kochbar.json
+++ b/tests/test_data/kochbar.de/kochbar.json
@@ -79,6 +79,7 @@
     "servingSize": "100 g"
   },
   "ratings": 4.75,
+  "ratings_count": 4,
   "site_name": "kochbar.de",
   "title": "Ligurisches Hühnerragout mit Zucchini – Spezzatino con zucchine",
   "total_time": 70,
diff --git a/tests/test_data/koket.se/koket.json b/tests/test_data/koket.se/koket.json
index 8017736f..71ce8dee 100644
--- a/tests/test_data/koket.se/koket.json
+++ b/tests/test_data/koket.se/koket.json
@@ -45,6 +45,7 @@
     "Lägg upp bröden på tallrik, toppa med skagenröra och en rejäl klick löjrom. Avsluta med en dillkvist och en citronskiva."
   ],
   "ratings": 3.6,
+  "ratings_count": 380,
   "site_name": "Köket.se",
   "title": "Myllymäkis toast skagen",
   "total_time": 25,
diff --git a/tests/test_data/kuchnia-domowa.pl/kuchniadomowa.json b/tests/test_data/kuchnia-domowa.pl/kuchniadomowa.json
index 0f6a379f..f48e7d92 100644
--- a/tests/test_data/kuchnia-domowa.pl/kuchniadomowa.json
+++ b/tests/test_data/kuchnia-domowa.pl/kuchniadomowa.json
@@ -37,6 +37,7 @@
   ],
   "language": "pl-pl",
   "ratings": 4.0,
+  "ratings_count": 7,
   "site_name": "Kuchnia Domowa",
   "title": "Mizeria",
   "total_time": 30,
diff --git a/tests/test_data/leanandgreenrecipes.net/leanandgreenrecipes.json b/tests/test_data/leanandgreenrecipes.net/leanandgreenrecipes.json
index 182fb6ae..c4fbab4a 100644
--- a/tests/test_data/leanandgreenrecipes.net/leanandgreenrecipes.json
+++ b/tests/test_data/leanandgreenrecipes.net/leanandgreenrecipes.json
@@ -43,6 +43,7 @@
   ],
   "language": "en",
   "ratings": 3.7,
+  "ratings_count": 23,
   "site_name": "Lean and Green Recipes",
   "title": "Healthy Yellow Squash Taco Casserole Recipe",
   "total_time": 40.0,
diff --git a/tests/test_data/lecker.de/lecker_1.json b/tests/test_data/lecker.de/lecker_1.json
index 7e8c0759..f5317026 100644
--- a/tests/test_data/lecker.de/lecker_1.json
+++ b/tests/test_data/lecker.de/lecker_1.json
@@ -57,6 +57,7 @@
   },
   "prep_time": null,
   "ratings": 3.94,
+  "ratings_count": 99,
   "site_name": "lecker.de",
   "title": "Gemüsepfanne mit Hähnchen, Zuckerschoten und Brokkoli",
   "total_time": 25,
diff --git a/tests/test_data/lecremedelacrumb.com/lecremedelacrumb.json b/tests/test_data/lecremedelacrumb.com/lecremedelacrumb.json
index f6b0e31f..3e6e0318 100644
--- a/tests/test_data/lecremedelacrumb.com/lecremedelacrumb.json
+++ b/tests/test_data/lecremedelacrumb.com/lecremedelacrumb.json
@@ -53,6 +53,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.85,
+  "ratings_count": 165,
   "site_name": "Creme De La Crumb",
   "title": "Instant Pot Shredded Chicken Tacos",
   "total_time": 35,
diff --git a/tests/test_data/lekkerensimpel.com/lekkerensimpel_1.json b/tests/test_data/lekkerensimpel.com/lekkerensimpel_1.json
index 5aeb9344..bc9eddf0 100644
--- a/tests/test_data/lekkerensimpel.com/lekkerensimpel_1.json
+++ b/tests/test_data/lekkerensimpel.com/lekkerensimpel_1.json
@@ -42,6 +42,7 @@
   ],
   "language": "nl-NL",
   "ratings": 4.56,
+  "ratings_count": 75,
   "site_name": "Lekker en Simpel",
   "title": "Poké bowl met kip",
   "total_time": 35,
diff --git a/tests/test_data/leukerecepten.nl/leukerecepten.json b/tests/test_data/leukerecepten.nl/leukerecepten.json
index 1f52bdb7..eda02daf 100644
--- a/tests/test_data/leukerecepten.nl/leukerecepten.json
+++ b/tests/test_data/leukerecepten.nl/leukerecepten.json
@@ -46,6 +46,7 @@
   ],
   "language": "nl",
   "ratings": 4.0,
+  "ratings_count": 298,
   "site_name": "Leuke Recepten",
   "title": "Pasta met paddenstoelen en champignons",
   "total_time": 25,
diff --git a/tests/test_data/lifestyleofafoodie.com/lifestyleofafoodie_1.json b/tests/test_data/lifestyleofafoodie.com/lifestyleofafoodie_1.json
index 0a693eb4..63c4bc93 100644
--- a/tests/test_data/lifestyleofafoodie.com/lifestyleofafoodie_1.json
+++ b/tests/test_data/lifestyleofafoodie.com/lifestyleofafoodie_1.json
@@ -50,6 +50,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Lifestyle of a Foodie",
   "title": "Frozen strawberry margaritas",
   "total_time": 5,
diff --git a/tests/test_data/lifestyleofafoodie.com/lifestyleofafoodie_2.json b/tests/test_data/lifestyleofafoodie.com/lifestyleofafoodie_2.json
index 744462ad..4059ab40 100644
--- a/tests/test_data/lifestyleofafoodie.com/lifestyleofafoodie_2.json
+++ b/tests/test_data/lifestyleofafoodie.com/lifestyleofafoodie_2.json
@@ -34,6 +34,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 10,
   "site_name": "Lifestyle of a Foodie",
   "title": "Crispy air fryer frozen french fries",
   "total_time": 13,
diff --git a/tests/test_data/littlespicejar.com/littlespicejar.json b/tests/test_data/littlespicejar.com/littlespicejar.json
index 4407468a..5fd77c9b 100644
--- a/tests/test_data/littlespicejar.com/littlespicejar.json
+++ b/tests/test_data/littlespicejar.com/littlespicejar.json
@@ -51,6 +51,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 42,
   "site_name": "Little Spice Jar",
   "title": "Easy Addicting Crab Cake Bites (Crab Cake Cups)",
   "total_time": 30,
diff --git a/tests/test_data/lovingitvegan.com/lovingitvegan.json b/tests/test_data/lovingitvegan.com/lovingitvegan.json
index 4d85bd40..2fb43e04 100644
--- a/tests/test_data/lovingitvegan.com/lovingitvegan.json
+++ b/tests/test_data/lovingitvegan.com/lovingitvegan.json
@@ -51,6 +51,7 @@
     "proteinContent": "13.8 g"
   },
   "ratings": 5.0,
+  "ratings_count": 17,
   "site_name": "Loving It Vegan",
   "title": "Kale Smoothie",
   "total_time": 10,
diff --git a/tests/test_data/maangchi.com/maangchi.json b/tests/test_data/maangchi.com/maangchi.json
index 3cd73762..ea8fea59 100644
--- a/tests/test_data/maangchi.com/maangchi.json
+++ b/tests/test_data/maangchi.com/maangchi.json
@@ -80,6 +80,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 233,
   "site_name": "Cooking Korean food with Maangchi",
   "title": "Pepper fried chicken (Yuringi: 유린기)",
   "total_time": 34.0,
diff --git a/tests/test_data/madensverden.dk/madensverden.json b/tests/test_data/madensverden.dk/madensverden.json
index cd2b8f70..b39aee5b 100644
--- a/tests/test_data/madensverden.dk/madensverden.json
+++ b/tests/test_data/madensverden.dk/madensverden.json
@@ -53,6 +53,7 @@
   },
   "prep_time": 15,
   "ratings": 4.72,
+  "ratings_count": 38,
   "site_name": "Madens Verden",
   "title": "Rabarbertrifli",
   "total_time": 30,
diff --git a/tests/test_data/madsvin.com/madsvin.json b/tests/test_data/madsvin.com/madsvin.json
index 64bf482b..8ea500e6 100644
--- a/tests/test_data/madsvin.com/madsvin.json
+++ b/tests/test_data/madsvin.com/madsvin.json
@@ -42,6 +42,7 @@
   ],
   "language": "da-DK",
   "ratings": 4.64,
+  "ratings_count": 19,
   "site_name": "madsvin.com",
   "title": "Pandekager",
   "total_time": 20,
diff --git a/tests/test_data/marmiton.org/marmiton.json b/tests/test_data/marmiton.org/marmiton.json
index 2394d969..ac431e45 100644
--- a/tests/test_data/marmiton.org/marmiton.json
+++ b/tests/test_data/marmiton.org/marmiton.json
@@ -51,6 +51,7 @@
   ],
   "language": "fr",
   "ratings": 4.8,
+  "ratings_count": 413,
   "site_name": "Marmiton",
   "title": "Ratatouille",
   "total_time": 80,
diff --git a/tests/test_data/marthastewart.com/marthastewart.json b/tests/test_data/marthastewart.com/marthastewart.json
index 01ca11b3..a94aa0b5 100644
--- a/tests/test_data/marthastewart.com/marthastewart.json
+++ b/tests/test_data/marthastewart.com/marthastewart.json
@@ -35,6 +35,7 @@
   ],
   "language": "en",
   "ratings": 3.2,
+  "ratings_count": 292,
   "site_name": "Martha Stewart",
   "title": "Breaded Chicken Breasts",
   "total_time": 25,
diff --git a/tests/test_data/matprat.no/matprat_1.json b/tests/test_data/matprat.no/matprat_1.json
index 6f831f32..8b128607 100644
--- a/tests/test_data/matprat.no/matprat_1.json
+++ b/tests/test_data/matprat.no/matprat_1.json
@@ -81,6 +81,7 @@
   "language": "no",
   "nutrients": null,
   "ratings": 4.82,
+  "ratings_count": 240,
   "site_name": null,
   "title": "Butter chicken - indisk smørkylling",
   "total_time": 160,
diff --git a/tests/test_data/matprat.no/matprat_2.json b/tests/test_data/matprat.no/matprat_2.json
index 51c21f41..7586e9d8 100644
--- a/tests/test_data/matprat.no/matprat_2.json
+++ b/tests/test_data/matprat.no/matprat_2.json
@@ -42,6 +42,7 @@
     "Jern": "1,1 mg"
   },
   "ratings": 4.85,
+  "ratings_count": 27,
   "site_name": null,
   "title": "Mangosalat",
   "total_time": 20,
diff --git a/tests/test_data/melskitchencafe.com/melskitchencafe.json b/tests/test_data/melskitchencafe.com/melskitchencafe.json
index a8d201e2..604c9b52 100644
--- a/tests/test_data/melskitchencafe.com/melskitchencafe.json
+++ b/tests/test_data/melskitchencafe.com/melskitchencafe.json
@@ -52,6 +52,7 @@
     "sugarContent": "18 g"
   },
   "ratings": 4.6,
+  "ratings_count": 49,
   "site_name": "Mel's Kitchen Cafe",
   "title": "Licorice Caramels",
   "total_time": 150,
diff --git a/tests/test_data/minimalistbaker.com/minimalistbaker.json b/tests/test_data/minimalistbaker.com/minimalistbaker.json
index e823cce3..936e1df0 100644
--- a/tests/test_data/minimalistbaker.com/minimalistbaker.json
+++ b/tests/test_data/minimalistbaker.com/minimalistbaker.json
@@ -50,6 +50,7 @@
     "unsaturatedFatContent": "6.42 g"
   },
   "ratings": 4.73,
+  "ratings_count": 11,
   "site_name": "Minimalist Baker",
   "title": "Cashew Ricotta Cheese (Soy-Free, Fast, Easy!)",
   "total_time": 40,
diff --git a/tests/test_data/ministryofcurry.com/ministryofcurry.json b/tests/test_data/ministryofcurry.com/ministryofcurry.json
index 65dce664..d61557e0 100644
--- a/tests/test_data/ministryofcurry.com/ministryofcurry.json
+++ b/tests/test_data/ministryofcurry.com/ministryofcurry.json
@@ -73,6 +73,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.69,
+  "ratings_count": 145,
   "site_name": "Ministry of Curry",
   "title": "Slow Cooker EASY Chicken Tikka Masala",
   "total_time": 270,
diff --git a/tests/test_data/misya.info/misya.json b/tests/test_data/misya.info/misya.json
index 310eb253..79d8e115 100644
--- a/tests/test_data/misya.info/misya.json
+++ b/tests/test_data/misya.info/misya.json
@@ -47,6 +47,7 @@
   ],
   "language": "it",
   "ratings": 4.8,
+  "ratings_count": 43,
   "site_name": null,
   "title": "Tortino cuore caldo",
   "total_time": 35,
diff --git a/tests/test_data/momswithcrockpots.com/momswithcrockpots.json b/tests/test_data/momswithcrockpots.com/momswithcrockpots.json
index 868ff241..38107119 100644
--- a/tests/test_data/momswithcrockpots.com/momswithcrockpots.json
+++ b/tests/test_data/momswithcrockpots.com/momswithcrockpots.json
@@ -53,6 +53,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.0,
+  "ratings_count": 2,
   "site_name": "Moms with Crockpots",
   "title": "Crockpot Macaroni & Cheese",
   "total_time": 225,
diff --git a/tests/test_data/motherthyme.com/motherthyme.json b/tests/test_data/motherthyme.com/motherthyme.json
index 5fd089b1..a126a7fc 100644
--- a/tests/test_data/motherthyme.com/motherthyme.json
+++ b/tests/test_data/motherthyme.com/motherthyme.json
@@ -59,6 +59,7 @@
   ],
   "language": "en-US",
   "ratings": 4.9,
+  "ratings_count": 23,
   "site_name": null,
   "title": "Cinnamon Roll Oatmeal",
   "total_time": 30,
diff --git a/tests/test_data/mybakingaddiction.com/mybakingaddiction.json b/tests/test_data/mybakingaddiction.com/mybakingaddiction.json
index b49f6ccd..0c211e7b 100644
--- a/tests/test_data/mybakingaddiction.com/mybakingaddiction.json
+++ b/tests/test_data/mybakingaddiction.com/mybakingaddiction.json
@@ -69,6 +69,7 @@
     "unsaturatedFatContent": "3 grams unsaturated fat"
   },
   "ratings": 4.3,
+  "ratings_count": 23,
   "site_name": "My Baking Addiction",
   "title": "Chocolate Zucchini Bread",
   "total_time": 75,
diff --git a/tests/test_data/mykitchen101en.com/mykitchen101en.json b/tests/test_data/mykitchen101en.com/mykitchen101en.json
index 921ae517..06a0538d 100644
--- a/tests/test_data/mykitchen101en.com/mykitchen101en.json
+++ b/tests/test_data/mykitchen101en.com/mykitchen101en.json
@@ -61,6 +61,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 3,
   "site_name": "MyKitchen101en.com",
   "title": "Baked Mini Egg Sponge Cakes",
   "total_time": 55,
diff --git a/tests/test_data/myplate.gov/usdamyplate.json b/tests/test_data/myplate.gov/usdamyplate.json
index c99e5f71..67cd295c 100644
--- a/tests/test_data/myplate.gov/usdamyplate.json
+++ b/tests/test_data/myplate.gov/usdamyplate.json
@@ -65,6 +65,7 @@
     "Potassium": "169 mg"
   },
   "ratings": 3.44,
+  "ratings_count": 9,
   "recipe_source": "Food Hero Oregon State University Cooperative Extension Service",
   "serving_size": "1 bar",
   "site_name": null,
diff --git a/tests/test_data/myrecipes.com/myrecipes.json b/tests/test_data/myrecipes.com/myrecipes.json
index 1019559e..43380d61 100644
--- a/tests/test_data/myrecipes.com/myrecipes.json
+++ b/tests/test_data/myrecipes.com/myrecipes.json
@@ -31,6 +31,7 @@
   ],
   "language": "en",
   "ratings": 3.0,
+  "ratings_count": 3,
   "site_name": "MyRecipes",
   "title": "Cacio e Pepe",
   "total_time": 20.0,
diff --git a/tests/test_data/norecipes.com/norecipes_1.json b/tests/test_data/norecipes.com/norecipes_1.json
index 3666c010..ddcb0a82 100644
--- a/tests/test_data/norecipes.com/norecipes_1.json
+++ b/tests/test_data/norecipes.com/norecipes_1.json
@@ -51,6 +51,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.45,
+  "ratings_count": 238,
   "site_name": "Norecipes - Elevating Everyday Meals",
   "title": "Best Burnt Basque Cheesecake",
   "total_time": 27,
diff --git a/tests/test_data/norecipes.com/norecipes_2.json b/tests/test_data/norecipes.com/norecipes_2.json
index 6f21b1eb..880ed3d4 100644
--- a/tests/test_data/norecipes.com/norecipes_2.json
+++ b/tests/test_data/norecipes.com/norecipes_2.json
@@ -76,6 +76,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.43,
+  "ratings_count": 14,
   "site_name": "Norecipes - Elevating Everyday Meals",
   "title": "Best Orange Chicken",
   "total_time": 30,
diff --git a/tests/test_data/nourishedbynutrition.com/nourishedbynutrition.json b/tests/test_data/nourishedbynutrition.com/nourishedbynutrition.json
index 9a239302..3d2ff046 100644
--- a/tests/test_data/nourishedbynutrition.com/nourishedbynutrition.json
+++ b/tests/test_data/nourishedbynutrition.com/nourishedbynutrition.json
@@ -50,6 +50,7 @@
   ],
   "language": "en",
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Nourished By Nutrition",
   "title": "Salsa Verde Chicken Enchiladas",
   "total_time": 35,
diff --git a/tests/test_data/number-2-pencil.com/number2pencil_1.json b/tests/test_data/number-2-pencil.com/number2pencil_1.json
index 062c0e4c..25852450 100644
--- a/tests/test_data/number-2-pencil.com/number2pencil_1.json
+++ b/tests/test_data/number-2-pencil.com/number2pencil_1.json
@@ -73,6 +73,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.96,
+  "ratings_count": 46,
   "site_name": "No. 2 Pencil",
   "title": "Sheet Pan Shrimp Fajitas",
   "total_time": 20,
diff --git a/tests/test_data/number-2-pencil.com/number2pencil_2.json b/tests/test_data/number-2-pencil.com/number2pencil_2.json
index 6bd66e9b..07958d70 100644
--- a/tests/test_data/number-2-pencil.com/number2pencil_2.json
+++ b/tests/test_data/number-2-pencil.com/number2pencil_2.json
@@ -83,6 +83,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 3,
   "site_name": "No. 2 Pencil",
   "title": "Sheet Pan Strawberry Shortcake Recipe",
   "total_time": 45,
diff --git a/tests/test_data/nutritionfacts.org/nutritionfacts_1.json b/tests/test_data/nutritionfacts.org/nutritionfacts_1.json
index 0c412f4f..33d7a506 100644
--- a/tests/test_data/nutritionfacts.org/nutritionfacts_1.json
+++ b/tests/test_data/nutritionfacts.org/nutritionfacts_1.json
@@ -52,6 +52,7 @@
   ],
   "language": "en-US",
   "ratings": 4.33,
+  "ratings_count": 37,
   "site_name": null,
   "title": "Sweet Potato Taquitos",
   "yields": "4 servings"
diff --git a/tests/test_data/ohsheglows.com/ohsheglows.json b/tests/test_data/ohsheglows.com/ohsheglows.json
index 774fb64d..2bd64421 100644
--- a/tests/test_data/ohsheglows.com/ohsheglows.json
+++ b/tests/test_data/ohsheglows.com/ohsheglows.json
@@ -49,6 +49,7 @@
     "proteinContent": "6 grams"
   },
   "ratings": 4.73,
+  "ratings_count": 26,
   "site_name": "Oh She Glows",
   "title": "Obsession-Worthy Peanut Butter Cookie Ice Cream",
   "total_time": 22,
diff --git a/tests/test_data/omnivorescookbook.com/omnivorescookbook_1.json b/tests/test_data/omnivorescookbook.com/omnivorescookbook_1.json
index fc0f22d8..197bc364 100644
--- a/tests/test_data/omnivorescookbook.com/omnivorescookbook_1.json
+++ b/tests/test_data/omnivorescookbook.com/omnivorescookbook_1.json
@@ -48,6 +48,7 @@
     "sugarContent": "3 g"
   },
   "ratings": 5.0,
+  "ratings_count": 8,
   "site_name": "Omnivore's Cookbook",
   "title": "Stir Fried Bok Choy with Tofu Puffs",
   "total_time": 15,
diff --git a/tests/test_data/omnivorescookbook.com/omnivorescookbook_2.json b/tests/test_data/omnivorescookbook.com/omnivorescookbook_2.json
index 039b27ba..915c7f1a 100644
--- a/tests/test_data/omnivorescookbook.com/omnivorescookbook_2.json
+++ b/tests/test_data/omnivorescookbook.com/omnivorescookbook_2.json
@@ -80,6 +80,7 @@
     "sugarContent": "4.9 g"
   },
   "ratings": 4.82,
+  "ratings_count": 27,
   "site_name": "Omnivore's Cookbook",
   "title": "Beef Pan-Fried Noodles",
   "total_time": 35,
diff --git a/tests/test_data/onceuponachef.com/onceuponachef_1.json b/tests/test_data/onceuponachef.com/onceuponachef_1.json
index 16f08369..d4fc2f32 100644
--- a/tests/test_data/onceuponachef.com/onceuponachef_1.json
+++ b/tests/test_data/onceuponachef.com/onceuponachef_1.json
@@ -61,6 +61,7 @@
     "cholesterolContent": "31 mg"
   },
   "ratings": 5.0,
+  "ratings_count": 2400,
   "site_name": "Once Upon a Chef",
   "title": "Pumpkin Bread",
   "total_time": 90,
diff --git a/tests/test_data/onceuponachef.com/onceuponachef_2.json b/tests/test_data/onceuponachef.com/onceuponachef_2.json
index 0b62247e..d6c87349 100644
--- a/tests/test_data/onceuponachef.com/onceuponachef_2.json
+++ b/tests/test_data/onceuponachef.com/onceuponachef_2.json
@@ -76,6 +76,7 @@
     "cholesterolContent": "0 mg"
   },
   "ratings": 5.0,
+  "ratings_count": 532,
   "site_name": "Once Upon a Chef",
   "title": "Black Bean & Corn Salad with Chipotle-Honey Vinaigrette",
   "total_time": 30,
diff --git a/tests/test_data/paleorunningmomma.com/paleorunningmomma.json b/tests/test_data/paleorunningmomma.com/paleorunningmomma.json
index 818c4a5e..3111912c 100644
--- a/tests/test_data/paleorunningmomma.com/paleorunningmomma.json
+++ b/tests/test_data/paleorunningmomma.com/paleorunningmomma.json
@@ -67,6 +67,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.56,
+  "ratings_count": 100,
   "site_name": "The Paleo Running Momma",
   "title": "Paleo Beef Stroganoff {Whole30, Keto}",
   "total_time": 40,
diff --git a/tests/test_data/persnicketyplates.com/persnicketyplates.json b/tests/test_data/persnicketyplates.com/persnicketyplates.json
index 9d136608..e4db70ad 100644
--- a/tests/test_data/persnicketyplates.com/persnicketyplates.json
+++ b/tests/test_data/persnicketyplates.com/persnicketyplates.json
@@ -56,6 +56,7 @@
     "unsaturatedFatContent": "19 g"
   },
   "ratings": 5.0,
+  "ratings_count": 2,
   "site_name": "Persnickety Plates",
   "title": "Easy Slow Cooker Hawaiian Meatballs",
   "total_time": 125,
diff --git a/tests/test_data/pickuplimes.com/pickuplimes.json b/tests/test_data/pickuplimes.com/pickuplimes.json
index 525759bd..33a2ece2 100644
--- a/tests/test_data/pickuplimes.com/pickuplimes.json
+++ b/tests/test_data/pickuplimes.com/pickuplimes.json
@@ -83,6 +83,7 @@
   "language": "en",
   "prep_time": 20,
   "ratings": 4.9,
+  "ratings_count": 57,
   "site_name": "Pick Up Limes",
   "title": "Vegan \"Honey\" Mustard Tofu Wraps",
   "total_time": 30,
diff --git a/tests/test_data/pingodoce.pt/pingodoce.json b/tests/test_data/pingodoce.pt/pingodoce.json
index 289dede1..c3baad52 100644
--- a/tests/test_data/pingodoce.pt/pingodoce.json
+++ b/tests/test_data/pingodoce.pt/pingodoce.json
@@ -60,6 +60,7 @@
     "calories": "761 calories"
   },
   "ratings": 3.0,
+  "ratings_count": 437,
   "site_name": "Pingo Doce",
   "title": "Arroz de tamboril",
   "total_time": 60,
diff --git a/tests/test_data/pinkowlkitchen.com/pinkowlkitchen_1.json b/tests/test_data/pinkowlkitchen.com/pinkowlkitchen_1.json
index 6594940f..6eac4051 100644
--- a/tests/test_data/pinkowlkitchen.com/pinkowlkitchen_1.json
+++ b/tests/test_data/pinkowlkitchen.com/pinkowlkitchen_1.json
@@ -52,6 +52,7 @@
     "sugarContent": "32 g"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Pink Owl Kitchen",
   "title": "Chocolate Chess Pie",
   "total_time": 60,
diff --git a/tests/test_data/pinkowlkitchen.com/pinkowlkitchen_2.json b/tests/test_data/pinkowlkitchen.com/pinkowlkitchen_2.json
index e55d6701..8bb3c646 100644
--- a/tests/test_data/pinkowlkitchen.com/pinkowlkitchen_2.json
+++ b/tests/test_data/pinkowlkitchen.com/pinkowlkitchen_2.json
@@ -54,6 +54,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.94,
+  "ratings_count": 16,
   "site_name": "Pink Owl Kitchen",
   "title": "Chocolate Cream Cold Brew (Starbucks Copycat)",
   "total_time": 5,
diff --git a/tests/test_data/platingpixels.com/platingpixels_1.json b/tests/test_data/platingpixels.com/platingpixels_1.json
index ffa13d93..e1dae0ba 100644
--- a/tests/test_data/platingpixels.com/platingpixels_1.json
+++ b/tests/test_data/platingpixels.com/platingpixels_1.json
@@ -59,6 +59,7 @@
     "sugarContent": "6 g"
   },
   "ratings": 5.0,
+  "ratings_count": 6,
   "site_name": "Plating Pixels",
   "title": "Instant Pot Korean Short Ribs (Kalbi)",
   "total_time": 45,
diff --git a/tests/test_data/platingpixels.com/platingpixels_2.json b/tests/test_data/platingpixels.com/platingpixels_2.json
index 82e7ff67..f0e62c61 100644
--- a/tests/test_data/platingpixels.com/platingpixels_2.json
+++ b/tests/test_data/platingpixels.com/platingpixels_2.json
@@ -81,6 +81,7 @@
     "unsaturatedFatContent": "22 g"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Plating Pixels",
   "title": "Chicken Fried Chicken",
   "total_time": 30,
diff --git a/tests/test_data/plowingthroughlife.com/plowingthroughlife_1.json b/tests/test_data/plowingthroughlife.com/plowingthroughlife_1.json
index f9a4f647..a7bf8091 100644
--- a/tests/test_data/plowingthroughlife.com/plowingthroughlife_1.json
+++ b/tests/test_data/plowingthroughlife.com/plowingthroughlife_1.json
@@ -55,6 +55,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 20,
   "site_name": "Plowing Through Life",
   "title": "Crock Pot Mac and Cheese",
   "total_time": 160,
diff --git a/tests/test_data/plowingthroughlife.com/plowingthroughlife_2.json b/tests/test_data/plowingthroughlife.com/plowingthroughlife_2.json
index 8e52bd3b..91c1c2f7 100644
--- a/tests/test_data/plowingthroughlife.com/plowingthroughlife_2.json
+++ b/tests/test_data/plowingthroughlife.com/plowingthroughlife_2.json
@@ -66,6 +66,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 13,
   "site_name": "Plowing Through Life",
   "title": "Canned Cinnamon Rolls with Cream",
   "total_time": 35,
diff --git a/tests/test_data/popsugar.com/popsugar.json b/tests/test_data/popsugar.com/popsugar.json
index a1170def..a5b02e7d 100644
--- a/tests/test_data/popsugar.com/popsugar.json
+++ b/tests/test_data/popsugar.com/popsugar.json
@@ -61,6 +61,7 @@
   ],
   "language": "en-US",
   "ratings": 3.5,
+  "ratings_count": 6,
   "site_name": "POPSUGAR",
   "title": "Rainbow Pasta",
   "total_time": 50,
diff --git a/tests/test_data/practicalselfreliance.com/practicalselfreliance.json b/tests/test_data/practicalselfreliance.com/practicalselfreliance.json
index de1bc710..342017cd 100644
--- a/tests/test_data/practicalselfreliance.com/practicalselfreliance.json
+++ b/tests/test_data/practicalselfreliance.com/practicalselfreliance.json
@@ -51,6 +51,7 @@
   ],
   "language": "en-US",
   "ratings": 4.4,
+  "ratings_count": 11,
   "site_name": "Creative Canning",
   "title": "Zucchini Relish Recipe for Canning",
   "total_time": 150,
diff --git a/tests/test_data/pressureluckcooking.com/pressureluckcooking.json b/tests/test_data/pressureluckcooking.com/pressureluckcooking.json
index d2a4e685..d3af81a5 100644
--- a/tests/test_data/pressureluckcooking.com/pressureluckcooking.json
+++ b/tests/test_data/pressureluckcooking.com/pressureluckcooking.json
@@ -63,6 +63,7 @@
   ],
   "language": "en-US",
   "ratings": 4.4,
+  "ratings_count": 39,
   "site_name": "Pressure Luck Cooking",
   "title": "Instant Pot Jeffrey's Favorite Chicken",
   "total_time": 30,
diff --git a/tests/test_data/primaledgehealth.com/primaledgehealth.json b/tests/test_data/primaledgehealth.com/primaledgehealth.json
index 6a90a9b2..f62c6646 100644
--- a/tests/test_data/primaledgehealth.com/primaledgehealth.json
+++ b/tests/test_data/primaledgehealth.com/primaledgehealth.json
@@ -44,6 +44,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 4,
   "site_name": "Primal Edge Health",
   "title": "No Bake Custard (Keto & Carnivore-Friendly)",
   "total_time": 70,
diff --git a/tests/test_data/przepisy.pl/przepisy.json b/tests/test_data/przepisy.pl/przepisy.json
index 9fbb2311..9d8931ee 100644
--- a/tests/test_data/przepisy.pl/przepisy.json
+++ b/tests/test_data/przepisy.pl/przepisy.json
@@ -36,6 +36,7 @@
   ],
   "language": "pl-PL",
   "ratings": 4.42,
+  "ratings_count": 117,
   "site_name": null,
   "title": "Placki ziemniaczane",
   "total_time": 40,
diff --git a/tests/test_data/rachlmansfield.com/rachlmansfield.json b/tests/test_data/rachlmansfield.com/rachlmansfield.json
index b8a4ac0d..88febbd0 100644
--- a/tests/test_data/rachlmansfield.com/rachlmansfield.json
+++ b/tests/test_data/rachlmansfield.com/rachlmansfield.json
@@ -40,6 +40,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 78,
   "site_name": "rachLmansfield",
   "title": "Healthy Flourless Brownies (nut-free + gluten-free)",
   "total_time": 27,
diff --git a/tests/test_data/rainbowplantlife.com/rainbowplantlife.json b/tests/test_data/rainbowplantlife.com/rainbowplantlife.json
index c580d0b8..dcf93b8a 100644
--- a/tests/test_data/rainbowplantlife.com/rainbowplantlife.json
+++ b/tests/test_data/rainbowplantlife.com/rainbowplantlife.json
@@ -71,6 +71,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.96,
+  "ratings_count": 62,
   "site_name": "Rainbow Plant Life",
   "title": "Vegan Brown Butter Peach Cobbler",
   "total_time": 60,
diff --git a/tests/test_data/rainbowplantlife.com/rainbowplantlife_groups.json b/tests/test_data/rainbowplantlife.com/rainbowplantlife_groups.json
index 8d1488ab..0d109837 100644
--- a/tests/test_data/rainbowplantlife.com/rainbowplantlife_groups.json
+++ b/tests/test_data/rainbowplantlife.com/rainbowplantlife_groups.json
@@ -84,6 +84,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.98,
+  "ratings_count": 68,
   "site_name": "Rainbow Plant Life",
   "title": "Vegan Pasta Salad",
   "total_time": 40,
diff --git a/tests/test_data/realfood.tesco.com/realfoodtesco_1.json b/tests/test_data/realfood.tesco.com/realfoodtesco_1.json
index 3c3a8360..98d349e3 100644
--- a/tests/test_data/realfood.tesco.com/realfoodtesco_1.json
+++ b/tests/test_data/realfood.tesco.com/realfoodtesco_1.json
@@ -56,6 +56,7 @@
     "proteinContent": "15.1 grams protein"
   },
   "ratings": 5.0,
+  "ratings_count": 62,
   "site_name": "Tesco Real Food",
   "title": "Roasted cauliflower tagine",
   "total_time": 30,
diff --git a/tests/test_data/realfood.tesco.com/realfoodtesco_2.json b/tests/test_data/realfood.tesco.com/realfoodtesco_2.json
index e5627b08..715f39ac 100644
--- a/tests/test_data/realfood.tesco.com/realfoodtesco_2.json
+++ b/tests/test_data/realfood.tesco.com/realfoodtesco_2.json
@@ -55,6 +55,7 @@
     "proteinContent": "8.5 grams protein"
   },
   "ratings": 5.0,
+  "ratings_count": 13,
   "site_name": "Tesco Real Food",
   "title": "BBQ cauliflower steaks and herb sauce",
   "total_time": 22,
diff --git a/tests/test_data/realsimple.com/realsimple.json b/tests/test_data/realsimple.com/realsimple.json
index a9afe039..50bbead6 100644
--- a/tests/test_data/realsimple.com/realsimple.json
+++ b/tests/test_data/realsimple.com/realsimple.json
@@ -64,6 +64,7 @@
     "unsaturatedFatContent": "0 g"
   },
   "ratings": 3.9,
+  "ratings_count": 136,
   "site_name": "Real Simple",
   "title": "Classic Cheesecake",
   "total_time": 270,
diff --git a/tests/test_data/reciperunner.com/reciperunner.json b/tests/test_data/reciperunner.com/reciperunner.json
index ce45902c..7b2d7f5b 100644
--- a/tests/test_data/reciperunner.com/reciperunner.json
+++ b/tests/test_data/reciperunner.com/reciperunner.json
@@ -67,6 +67,7 @@
     "unsaturatedFatContent": "1 grams unsaturated fat"
   },
   "ratings": 4.6,
+  "ratings_count": 13,
   "site_name": "Recipe Runner",
   "title": "Vanilla and Chocolate Pizzelles",
   "total_time": 30,
diff --git a/tests/test_data/recipes.timesofindia.com/timesofindia.json b/tests/test_data/recipes.timesofindia.com/timesofindia.json
index eb397a1c..0db652f7 100644
--- a/tests/test_data/recipes.timesofindia.com/timesofindia.json
+++ b/tests/test_data/recipes.timesofindia.com/timesofindia.json
@@ -65,5 +65,6 @@
     "Buffet",
     "Pot Luck",
     "Party"
-  ]
+  ],
+  "ratings_count": 2
 }
diff --git a/tests/test_data/recipetineats.com/recipetineats.json b/tests/test_data/recipetineats.com/recipetineats.json
index d477fcb3..efdc660b 100644
--- a/tests/test_data/recipetineats.com/recipetineats.json
+++ b/tests/test_data/recipetineats.com/recipetineats.json
@@ -47,6 +47,7 @@
     "calories": "727 kcal"
   },
   "ratings": 4.93,
+  "ratings_count": 157,
   "site_name": "RecipeTin Eats",
   "title": "Vietnamese Caramel Pork",
   "total_time": 100,
diff --git a/tests/test_data/redhousespice.com/redhousespice_1.json b/tests/test_data/redhousespice.com/redhousespice_1.json
index fdb7531b..9d697e96 100644
--- a/tests/test_data/redhousespice.com/redhousespice_1.json
+++ b/tests/test_data/redhousespice.com/redhousespice_1.json
@@ -66,6 +66,7 @@
     "calories": "419 kcal"
   },
   "ratings": 5.0,
+  "ratings_count": 105,
   "site_name": "Red House Spice",
   "title": "Easy Char Siu (Chinese BBQ pork, 叉烧)",
   "total_time": 40,
diff --git a/tests/test_data/redhousespice.com/redhousespice_2.json b/tests/test_data/redhousespice.com/redhousespice_2.json
index ed7991db..f9a6a67c 100644
--- a/tests/test_data/redhousespice.com/redhousespice_2.json
+++ b/tests/test_data/redhousespice.com/redhousespice_2.json
@@ -52,6 +52,7 @@
     "unsaturatedFatContent": "11 g"
   },
   "ratings": 5.0,
+  "ratings_count": 28,
   "site_name": "Red House Spice",
   "title": "Smashed Cucumber Salad (拍黄瓜)",
   "total_time": 15,
diff --git a/tests/test_data/reishunger.de/reishunger_1.json b/tests/test_data/reishunger.de/reishunger_1.json
index 5a5066cb..0a77b307 100644
--- a/tests/test_data/reishunger.de/reishunger_1.json
+++ b/tests/test_data/reishunger.de/reishunger_1.json
@@ -50,6 +50,7 @@
   ],
   "language": "de",
   "ratings": 3.67,
+  "ratings_count": 3,
   "site_name": "https://www.reishunger.de",
   "title": "Crispy Tofu Bowl",
   "total_time": 60,
diff --git a/tests/test_data/reishunger.de/reishunger_2.json b/tests/test_data/reishunger.de/reishunger_2.json
index 4dec4ac1..eba9ddff 100644
--- a/tests/test_data/reishunger.de/reishunger_2.json
+++ b/tests/test_data/reishunger.de/reishunger_2.json
@@ -58,6 +58,7 @@
     "calories": "696 kcal"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "https://www.reishunger.de",
   "title": "Süßkartoffel-Kichererbsen-Curry",
   "total_time": 15,
diff --git a/tests/test_data/ricetta.it/ricetta.json b/tests/test_data/ricetta.it/ricetta.json
index 425d690a..efd5efae 100644
--- a/tests/test_data/ricetta.it/ricetta.json
+++ b/tests/test_data/ricetta.it/ricetta.json
@@ -52,6 +52,7 @@
   ],
   "language": "it",
   "ratings": 4.6,
+  "ratings_count": 1335,
   "site_name": null,
   "title": "Lasagne al radicchio e formaggio",
   "total_time": 60,
diff --git a/tests/test_data/ricette.giallozafferano.it/giallozafferano.json b/tests/test_data/ricette.giallozafferano.it/giallozafferano.json
index 6a56fd3f..6f03a2c6 100644
--- a/tests/test_data/ricette.giallozafferano.it/giallozafferano.json
+++ b/tests/test_data/ricette.giallozafferano.it/giallozafferano.json
@@ -61,6 +61,7 @@
     "sodiumContent": "115 mg"
   },
   "ratings": 3.9,
+  "ratings_count": 27,
   "site_name": "Ricette di cucina - Le Ricette di GialloZafferano.it",
   "title": "Bavarese alle fragole",
   "total_time": 45,
diff --git a/tests/test_data/rutgerbakt.nl/rutgerbakt_1.json b/tests/test_data/rutgerbakt.nl/rutgerbakt_1.json
index dc0bbb7b..c4e737e8 100644
--- a/tests/test_data/rutgerbakt.nl/rutgerbakt_1.json
+++ b/tests/test_data/rutgerbakt.nl/rutgerbakt_1.json
@@ -34,6 +34,7 @@
   ],
   "language": "nl",
   "ratings": 4.0,
+  "ratings_count": 133,
   "site_name": "Rutger Bakt",
   "title": "Arretjescake",
   "total_time": 180,
diff --git a/tests/test_data/rutgerbakt.nl/rutgerbakt_2.json b/tests/test_data/rutgerbakt.nl/rutgerbakt_2.json
index 43762926..c4396297 100644
--- a/tests/test_data/rutgerbakt.nl/rutgerbakt_2.json
+++ b/tests/test_data/rutgerbakt.nl/rutgerbakt_2.json
@@ -45,6 +45,7 @@
   ],
   "language": "nl",
   "ratings": 4.0,
+  "ratings_count": 131,
   "site_name": "Rutger Bakt",
   "title": "Abrikozenvlaai",
   "total_time": 120,
diff --git a/tests/test_data/rutgerbakt.nl/rutgerbakt_3.json b/tests/test_data/rutgerbakt.nl/rutgerbakt_3.json
index 25e8b0b3..eada064c 100644
--- a/tests/test_data/rutgerbakt.nl/rutgerbakt_3.json
+++ b/tests/test_data/rutgerbakt.nl/rutgerbakt_3.json
@@ -31,6 +31,7 @@
   ],
   "language": "nl",
   "ratings": 4.0,
+  "ratings_count": 361,
   "site_name": "Rutger Bakt",
   "title": "Banketstaaf",
   "total_time": 45,
diff --git a/tests/test_data/sallysbakingaddiction.com/sallysbakingaddiction.json b/tests/test_data/sallysbakingaddiction.com/sallysbakingaddiction.json
index 010f06bc..15cb38b4 100644
--- a/tests/test_data/sallysbakingaddiction.com/sallysbakingaddiction.json
+++ b/tests/test_data/sallysbakingaddiction.com/sallysbakingaddiction.json
@@ -71,6 +71,7 @@
   "language": "en-US",
   "prep_time": 180,
   "ratings": 4.9,
+  "ratings_count": 127,
   "site_name": "Sally's Baking Addiction",
   "title": "Rosemary Garlic Pull Apart Bread",
   "total_time": 240,
diff --git a/tests/test_data/saltpepperskillet.com/saltpepperskillet.json b/tests/test_data/saltpepperskillet.com/saltpepperskillet.json
index e2295419..3876f1c7 100644
--- a/tests/test_data/saltpepperskillet.com/saltpepperskillet.json
+++ b/tests/test_data/saltpepperskillet.com/saltpepperskillet.json
@@ -54,6 +54,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 5,
   "site_name": "Salt Pepper Skillet",
   "title": "Smoked Whole Chicken Recipe",
   "total_time": 435,
diff --git a/tests/test_data/seriouseats.com/seriouseats.json b/tests/test_data/seriouseats.com/seriouseats.json
index 59927b7d..35ef6c0c 100644
--- a/tests/test_data/seriouseats.com/seriouseats.json
+++ b/tests/test_data/seriouseats.com/seriouseats.json
@@ -47,6 +47,7 @@
     "unsaturatedFatContent": "0 g"
   },
   "ratings": 4.5,
+  "ratings_count": 72,
   "site_name": "Serious Eats",
   "title": "Buttery, Flaky Pie Crust Recipe",
   "total_time": 200,
diff --git a/tests/test_data/simple-veganista.com/simpleveganista.json b/tests/test_data/simple-veganista.com/simpleveganista.json
index ca6cf8d5..57852cb0 100644
--- a/tests/test_data/simple-veganista.com/simpleveganista.json
+++ b/tests/test_data/simple-veganista.com/simpleveganista.json
@@ -81,6 +81,7 @@
     "cholesterolContent": "0 mg"
   },
   "ratings": 4.9,
+  "ratings_count": 11,
   "site_name": "THE SIMPLE VEGANISTA",
   "title": "Vegan Jambalaya",
   "total_time": 45,
diff --git a/tests/test_data/simply-cookit.com/simplycookit.json b/tests/test_data/simply-cookit.com/simplycookit.json
index 16f58a3c..957b72eb 100644
--- a/tests/test_data/simply-cookit.com/simplycookit.json
+++ b/tests/test_data/simply-cookit.com/simplycookit.json
@@ -56,6 +56,7 @@
     "proteinContent": "19 g"
   },
   "ratings": 4.33,
+  "ratings_count": 3,
   "site_name": null,
   "title": "Gnocchi mit Zuckerschoten und getrockneten Tomaten in Parmesansauce",
   "total_time": 21,
diff --git a/tests/test_data/simplyquinoa.com/simplyquinoa.json b/tests/test_data/simplyquinoa.com/simplyquinoa.json
index dc6cac79..43ef1e3f 100644
--- a/tests/test_data/simplyquinoa.com/simplyquinoa.json
+++ b/tests/test_data/simplyquinoa.com/simplyquinoa.json
@@ -57,6 +57,7 @@
     "sugarContent": "2 g"
   },
   "ratings": 5.0,
+  "ratings_count": 9,
   "site_name": "Simply Quinoa",
   "title": "The Best Gluten-Free Pancakes",
   "total_time": 20,
diff --git a/tests/test_data/simplyrecipes.com/simplyrecipes_1.json b/tests/test_data/simplyrecipes.com/simplyrecipes_1.json
index db3a7996..be48eb5f 100644
--- a/tests/test_data/simplyrecipes.com/simplyrecipes_1.json
+++ b/tests/test_data/simplyrecipes.com/simplyrecipes_1.json
@@ -57,6 +57,7 @@
     "unsaturatedFatContent": "0 g"
   },
   "ratings": 4.7,
+  "ratings_count": 7,
   "site_name": "Simply Recipes",
   "title": "One-Pot Chicken and Rice Soup",
   "total_time": 45,
diff --git a/tests/test_data/simplyrecipes.com/simplyrecipes_2.json b/tests/test_data/simplyrecipes.com/simplyrecipes_2.json
index 50145267..5f81008b 100644
--- a/tests/test_data/simplyrecipes.com/simplyrecipes_2.json
+++ b/tests/test_data/simplyrecipes.com/simplyrecipes_2.json
@@ -70,6 +70,7 @@
     "unsaturatedFatContent": "0 g"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Simply Recipes",
   "title": "Parsnip Lobster Rolls",
   "total_time": 45,
diff --git a/tests/test_data/simplywhisked.com/simplywhisked.json b/tests/test_data/simplywhisked.com/simplywhisked.json
index ed86d3c4..da43c767 100644
--- a/tests/test_data/simplywhisked.com/simplywhisked.json
+++ b/tests/test_data/simplywhisked.com/simplywhisked.json
@@ -66,6 +66,7 @@
     "cholesterolContent": "63 mg"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "Simply Whisked",
   "title": "Buffalo Chicken Chili",
   "total_time": 45,
diff --git a/tests/test_data/skinnytaste.com/skinnytaste.json b/tests/test_data/skinnytaste.com/skinnytaste.json
index 8c11120f..e50e73af 100644
--- a/tests/test_data/skinnytaste.com/skinnytaste.json
+++ b/tests/test_data/skinnytaste.com/skinnytaste.json
@@ -49,6 +49,7 @@
     "sugarContent": "0.5 g"
   },
   "ratings": 4.8,
+  "ratings_count": 24,
   "site_name": "Skinnytaste",
   "title": "Grilled Chicken with Spinach and Melted Mozzarella",
   "total_time": 17,
diff --git a/tests/test_data/smulweb.nl/smulweb.json b/tests/test_data/smulweb.nl/smulweb.json
index eac59299..259f4baf 100644
--- a/tests/test_data/smulweb.nl/smulweb.json
+++ b/tests/test_data/smulweb.nl/smulweb.json
@@ -64,6 +64,7 @@
     "fatContent": "34.43 g"
   },
   "ratings": 3.0,
+  "ratings_count": 14,
   "site_name": "Smulweb",
   "title": "Lekker! Ovenschotel spitskool champignons spekreepjes en prei",
   "total_time": 30,
diff --git a/tests/test_data/spendwithpennies.com/spendwithpennies.json b/tests/test_data/spendwithpennies.com/spendwithpennies.json
index 1e9d3a79..1fec172f 100644
--- a/tests/test_data/spendwithpennies.com/spendwithpennies.json
+++ b/tests/test_data/spendwithpennies.com/spendwithpennies.json
@@ -57,6 +57,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.9,
+  "ratings_count": 148,
   "site_name": "Spend With Pennies",
   "title": "Gooey Chocolate Pudding Cake",
   "total_time": 35,
diff --git a/tests/test_data/staysnatched.com/staysnatched.json b/tests/test_data/staysnatched.com/staysnatched.json
index 4108a1f4..b6f5d17a 100644
--- a/tests/test_data/staysnatched.com/staysnatched.json
+++ b/tests/test_data/staysnatched.com/staysnatched.json
@@ -70,6 +70,7 @@
     "fatContent": "8 g"
   },
   "ratings": 4.89,
+  "ratings_count": 60,
   "site_name": "Stay Snatched",
   "title": "Slow Cooker Chili Mac and Cheese",
   "total_time": 210,
diff --git a/tests/test_data/sunbasket.com/sunbasket.json b/tests/test_data/sunbasket.com/sunbasket.json
index b40b9144..43c357b9 100644
--- a/tests/test_data/sunbasket.com/sunbasket.json
+++ b/tests/test_data/sunbasket.com/sunbasket.json
@@ -47,6 +47,7 @@
     "sodiumContent": "900mg"
   },
   "ratings": 5.0,
+  "ratings_count": 1340,
   "site_name": null,
   "title": "Lemongrass-turkey salad with rice noodles and pear",
   "total_time": 15,
diff --git a/tests/test_data/sundpaabudget.dk/sundpaabudget.json b/tests/test_data/sundpaabudget.dk/sundpaabudget.json
index b33e12d5..3edd199f 100644
--- a/tests/test_data/sundpaabudget.dk/sundpaabudget.json
+++ b/tests/test_data/sundpaabudget.dk/sundpaabudget.json
@@ -56,6 +56,7 @@
   },
   "prep_time": 10,
   "ratings": 4.0,
+  "ratings_count": 40,
   "site_name": "Sund på budget",
   "title": "One pot pasta med kyllingekebab",
   "total_time": 30,
diff --git a/tests/test_data/sunset.com/sunset.json b/tests/test_data/sunset.com/sunset.json
index 4a960a02..8b6ba704 100644
--- a/tests/test_data/sunset.com/sunset.json
+++ b/tests/test_data/sunset.com/sunset.json
@@ -64,6 +64,7 @@
     "sodiumContent": "363"
   },
   "ratings": 3.0,
+  "ratings_count": 30,
   "site_name": "Sunset Magazine",
   "title": "Crisp-Top Sourdough Stuffing",
   "total_time": 90,
diff --git a/tests/test_data/sweetcsdesigns.com/sweetcsdesigns.json b/tests/test_data/sweetcsdesigns.com/sweetcsdesigns.json
index 7f4c8cf2..9eb7b75c 100644
--- a/tests/test_data/sweetcsdesigns.com/sweetcsdesigns.json
+++ b/tests/test_data/sweetcsdesigns.com/sweetcsdesigns.json
@@ -49,6 +49,7 @@
     "unsaturatedFatContent": "6 grams unsaturated fat"
   },
   "ratings": 4.9,
+  "ratings_count": 544,
   "site_name": "Sweet Cs Designs",
   "title": "The Best Easy Air Fryer French Fries",
   "total_time": 85,
diff --git a/tests/test_data/sweetpeasandsaffron.com/sweetpeasandsaffron.json b/tests/test_data/sweetpeasandsaffron.com/sweetpeasandsaffron.json
index c7ba62f6..ae94b9f6 100644
--- a/tests/test_data/sweetpeasandsaffron.com/sweetpeasandsaffron.json
+++ b/tests/test_data/sweetpeasandsaffron.com/sweetpeasandsaffron.json
@@ -106,6 +106,7 @@
     "sugarContent": "7 g"
   },
   "ratings": 4.62,
+  "ratings_count": 26,
   "site_name": "Sweet Peas and Saffron",
   "title": "7 Healthy Steel Cut Oats Recipes",
   "total_time": 25,
diff --git a/tests/test_data/taste.com.au/tasteau_1.json b/tests/test_data/taste.com.au/tasteau_1.json
index 1080e599..7a29eaad 100644
--- a/tests/test_data/taste.com.au/tasteau_1.json
+++ b/tests/test_data/taste.com.au/tasteau_1.json
@@ -58,6 +58,7 @@
     "sodiumContent": "4.8 milligrams sodium"
   },
   "ratings": 4.5,
+  "ratings_count": 10,
   "site_name": "www.taste.com.au",
   "title": "Mexican chicken pasta bake recipe",
   "total_time": 70,
diff --git a/tests/test_data/tasteofhome.com/tasteofhome.json b/tests/test_data/tasteofhome.com/tasteofhome.json
index e7212ec0..cc22f0ed 100644
--- a/tests/test_data/tasteofhome.com/tasteofhome.json
+++ b/tests/test_data/tasteofhome.com/tasteofhome.json
@@ -59,6 +59,7 @@
     "proteinContent": "27g protein. Diabetic Exchanges: 3 lean meat"
   },
   "ratings": 3.78,
+  "ratings_count": 9,
   "site_name": "Taste of Home",
   "title": "Pressure-Cooker Sauerbraten",
   "total_time": 40,
diff --git a/tests/test_data/tastesbetterfromscratch.com/tastesbetterfromscratch.json b/tests/test_data/tastesbetterfromscratch.com/tastesbetterfromscratch.json
index fea2c11b..27a17ff4 100644
--- a/tests/test_data/tastesbetterfromscratch.com/tastesbetterfromscratch.json
+++ b/tests/test_data/tastesbetterfromscratch.com/tastesbetterfromscratch.json
@@ -58,6 +58,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.99,
+  "ratings_count": 744,
   "site_name": "Tastes Better From Scratch",
   "title": "How to make Pulled Pork",
   "total_time": 320,
diff --git a/tests/test_data/tastesoflizzyt.com/tastesoflizzyt.json b/tests/test_data/tastesoflizzyt.com/tastesoflizzyt.json
index 60383e60..d84ef9f0 100644
--- a/tests/test_data/tastesoflizzyt.com/tastesoflizzyt.json
+++ b/tests/test_data/tastesoflizzyt.com/tastesoflizzyt.json
@@ -57,6 +57,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.92,
+  "ratings_count": 12,
   "site_name": "Tastes of Lizzy T",
   "title": "Soft Baked Molasses Cookies",
   "total_time": 27,
diff --git a/tests/test_data/tasty.co/tasty.json b/tests/test_data/tasty.co/tasty.json
index a2f412d9..4a9ab4b4 100644
--- a/tests/test_data/tasty.co/tasty.json
+++ b/tests/test_data/tasty.co/tasty.json
@@ -69,6 +69,7 @@
   ],
   "language": "en",
   "ratings": 4.7,
+  "ratings_count": 168,
   "site_name": "tasty.co",
   "title": "Red Wine-Braised Short Ribs With Cashew Cauliflower Mash Recipe by Tasty",
   "yields": "4 servings",
diff --git a/tests/test_data/tastykitchen.com/tastykitchen.json b/tests/test_data/tastykitchen.com/tastykitchen.json
index b5dc6cdc..9ca1caaf 100644
--- a/tests/test_data/tastykitchen.com/tastykitchen.json
+++ b/tests/test_data/tastykitchen.com/tastykitchen.json
@@ -41,6 +41,7 @@
   ],
   "language": "en-US",
   "ratings": 4.94,
+  "ratings_count": 87,
   "site_name": null,
   "title": "Restaurant Style Salsa",
   "total_time": 10,
diff --git a/tests/test_data/theclevercarrot.com/theclevercarrot_1.json b/tests/test_data/theclevercarrot.com/theclevercarrot_1.json
index e297f27a..ca0d1a4a 100644
--- a/tests/test_data/theclevercarrot.com/theclevercarrot_1.json
+++ b/tests/test_data/theclevercarrot.com/theclevercarrot_1.json
@@ -101,6 +101,7 @@
   ],
   "language": "en-US",
   "ratings": 4.9,
+  "ratings_count": 333,
   "site_name": "The Clever Carrot",
   "title": "Soft Sourdough Cinnamon Rolls",
   "total_time": 930,
diff --git a/tests/test_data/theclevercarrot.com/theclevercarrot_2.json b/tests/test_data/theclevercarrot.com/theclevercarrot_2.json
index 882eabbc..8beaae0b 100644
--- a/tests/test_data/theclevercarrot.com/theclevercarrot_2.json
+++ b/tests/test_data/theclevercarrot.com/theclevercarrot_2.json
@@ -55,6 +55,7 @@
   ],
   "language": "en-US",
   "ratings": 4.3,
+  "ratings_count": 3,
   "site_name": "The Clever Carrot",
   "title": "dinner tonight: sweet chili shrimp stir-fry",
   "total_time": 20,
diff --git a/tests/test_data/thekitchencommunity.org/thekitchencommunity.json b/tests/test_data/thekitchencommunity.org/thekitchencommunity.json
index a21e9cc1..a7ce9b92 100644
--- a/tests/test_data/thekitchencommunity.org/thekitchencommunity.json
+++ b/tests/test_data/thekitchencommunity.org/thekitchencommunity.json
@@ -53,6 +53,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 25,
   "site_name": "The Kitchen Community",
   "title": "Our BEST Crock Pot Mac and Cheese Recipe",
   "total_time": 125,
diff --git a/tests/test_data/thekitchenmagpie.com/thekitchenmagpie.json b/tests/test_data/thekitchenmagpie.com/thekitchenmagpie.json
index 589eb0b1..bc7061ff 100644
--- a/tests/test_data/thekitchenmagpie.com/thekitchenmagpie.json
+++ b/tests/test_data/thekitchenmagpie.com/thekitchenmagpie.json
@@ -55,6 +55,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.98,
+  "ratings_count": 95,
   "site_name": "The Kitchen Magpie",
   "title": "Salmon Loaf",
   "total_time": 70,
diff --git a/tests/test_data/thekitchn.com/thekitchn.json b/tests/test_data/thekitchn.com/thekitchn.json
index be56080c..245349a6 100644
--- a/tests/test_data/thekitchn.com/thekitchn.json
+++ b/tests/test_data/thekitchn.com/thekitchn.json
@@ -71,6 +71,7 @@
     "unsaturatedFatContent": "0.0 g"
   },
   "ratings": 4.8,
+  "ratings_count": 4,
   "site_name": "Kitchn",
   "title": "How To Make the Best Beef and Cheese Manicotti",
   "total_time": 65,
diff --git a/tests/test_data/themagicalslowcooker.com/themagicalslowcooker_1.json b/tests/test_data/themagicalslowcooker.com/themagicalslowcooker_1.json
index e40942b6..66229f7f 100644
--- a/tests/test_data/themagicalslowcooker.com/themagicalslowcooker_1.json
+++ b/tests/test_data/themagicalslowcooker.com/themagicalslowcooker_1.json
@@ -49,6 +49,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 1,
   "site_name": "The Magical Slow Cooker",
   "title": "Slow Cooker Ground Beef",
   "total_time": 245,
diff --git a/tests/test_data/themagicalslowcooker.com/themagicalslowcooker_2.json b/tests/test_data/themagicalslowcooker.com/themagicalslowcooker_2.json
index 69a4da34..1e230bc9 100644
--- a/tests/test_data/themagicalslowcooker.com/themagicalslowcooker_2.json
+++ b/tests/test_data/themagicalslowcooker.com/themagicalslowcooker_2.json
@@ -86,6 +86,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 8,
   "site_name": "The Magical Slow Cooker",
   "title": "Slow Cooker Pork Roast with Gravy",
   "total_time": 510,
diff --git a/tests/test_data/themodernproper.com/themodernproper.json b/tests/test_data/themodernproper.com/themodernproper.json
index d09fe061..97315c33 100644
--- a/tests/test_data/themodernproper.com/themodernproper.json
+++ b/tests/test_data/themodernproper.com/themodernproper.json
@@ -86,6 +86,7 @@
     "sugarContent": "1 grams sugar"
   },
   "ratings": 5.0,
+  "ratings_count": 82,
   "site_name": "The Modern Proper",
   "title": "Easy Swedish Meatball Recipe",
   "total_time": 60,
diff --git a/tests/test_data/thepioneerwoman.com/thepioneerwoman_1.json b/tests/test_data/thepioneerwoman.com/thepioneerwoman_1.json
index 2cbc8c3e..c4ae3b26 100644
--- a/tests/test_data/thepioneerwoman.com/thepioneerwoman_1.json
+++ b/tests/test_data/thepioneerwoman.com/thepioneerwoman_1.json
@@ -40,6 +40,7 @@
   "language": "en-US",
   "prep_time": 10,
   "ratings": 5.0,
+  "ratings_count": 4,
   "site_name": "The Pioneer Woman",
   "title": "Patty Melts",
   "total_time": 35,
diff --git a/tests/test_data/thepioneerwoman.com/thepioneerwoman_2.json b/tests/test_data/thepioneerwoman.com/thepioneerwoman_2.json
index e75728f2..108b340a 100644
--- a/tests/test_data/thepioneerwoman.com/thepioneerwoman_2.json
+++ b/tests/test_data/thepioneerwoman.com/thepioneerwoman_2.json
@@ -68,6 +68,7 @@
   "language": "en-US",
   "prep_time": 20,
   "ratings": 4.17,
+  "ratings_count": 12,
   "site_name": "The Pioneer Woman",
   "title": "Pumpkin Sheet Cake With Cream Cheese Frosting",
   "total_time": 40,
diff --git a/tests/test_data/thespruceeats.com/thespruceeats_1.json b/tests/test_data/thespruceeats.com/thespruceeats_1.json
index a4492353..0fbee800 100644
--- a/tests/test_data/thespruceeats.com/thespruceeats_1.json
+++ b/tests/test_data/thespruceeats.com/thespruceeats_1.json
@@ -53,6 +53,7 @@
     "unsaturatedFatContent": "0 g"
   },
   "ratings": 4.5,
+  "ratings_count": 11,
   "site_name": "The Spruce Eats",
   "title": "Bell Pepper Sandwich Recipe",
   "total_time": 15,
diff --git a/tests/test_data/thespruceeats.com/thespruceeats_2.json b/tests/test_data/thespruceeats.com/thespruceeats_2.json
index 7b063bc3..49e72005 100644
--- a/tests/test_data/thespruceeats.com/thespruceeats_2.json
+++ b/tests/test_data/thespruceeats.com/thespruceeats_2.json
@@ -77,6 +77,7 @@
     "unsaturatedFatContent": "0 g"
   },
   "ratings": 3.5,
+  "ratings_count": 15,
   "site_name": "The Spruce Eats",
   "title": "Peppermint Swirl Brownies",
   "total_time": 45,
diff --git a/tests/test_data/thewoksoflife.com/thewoksoflife.json b/tests/test_data/thewoksoflife.com/thewoksoflife.json
index 100fa425..6244653e 100644
--- a/tests/test_data/thewoksoflife.com/thewoksoflife.json
+++ b/tests/test_data/thewoksoflife.com/thewoksoflife.json
@@ -47,6 +47,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 4.91,
+  "ratings_count": 11,
   "site_name": "The Woks of Life",
   "title": "The Perfect Whole Wheat Mantou Recipe",
   "total_time": 270,
diff --git a/tests/test_data/tine.no/tineno.json b/tests/test_data/tine.no/tineno.json
index bbe5a41a..bbd3f808 100644
--- a/tests/test_data/tine.no/tineno.json
+++ b/tests/test_data/tine.no/tineno.json
@@ -67,6 +67,7 @@
   ],
   "language": "no",
   "ratings": 3.9,
+  "ratings_count": 377,
   "site_name": "TINE",
   "title": "Rask kylling tikka masala",
   "total_time": 30,
diff --git a/tests/test_data/tudogostoso.com.br/tudogostoso.json b/tests/test_data/tudogostoso.com.br/tudogostoso.json
index f4fe06f8..0de5380a 100644
--- a/tests/test_data/tudogostoso.com.br/tudogostoso.json
+++ b/tests/test_data/tudogostoso.com.br/tudogostoso.json
@@ -30,6 +30,7 @@
   ],
   "language": "pt-br",
   "ratings": 4.8,
+  "ratings_count": 25,
   "site_name": "TudoGostoso",
   "title": "Caipirinha - Original",
   "total_time": 5,
diff --git a/tests/test_data/twopeasandtheirpod.com/twopeasandtheirpod_1.json b/tests/test_data/twopeasandtheirpod.com/twopeasandtheirpod_1.json
index ec0f0bc8..ecd7b9c7 100644
--- a/tests/test_data/twopeasandtheirpod.com/twopeasandtheirpod_1.json
+++ b/tests/test_data/twopeasandtheirpod.com/twopeasandtheirpod_1.json
@@ -73,6 +73,7 @@
     "fiberContent": "1 g"
   },
   "ratings": 4.66,
+  "ratings_count": 132,
   "site_name": "Two Peas & Their Pod",
   "title": "Chicken Taquitos",
   "total_time": 40,
diff --git a/tests/test_data/wellplated.com/wellplated.json b/tests/test_data/wellplated.com/wellplated.json
index 11e11990..fead607b 100644
--- a/tests/test_data/wellplated.com/wellplated.json
+++ b/tests/test_data/wellplated.com/wellplated.json
@@ -67,6 +67,7 @@
     "unsaturatedFatContent": "6 g"
   },
   "ratings": 4.98,
+  "ratings_count": 35,
   "site_name": "Well Plated by Erin",
   "title": "Egg Fried Rice",
   "total_time": 25,
diff --git a/tests/test_data/whatsgabycooking.com/whatsgabycooking.json b/tests/test_data/whatsgabycooking.com/whatsgabycooking.json
index 842ce71c..18050609 100644
--- a/tests/test_data/whatsgabycooking.com/whatsgabycooking.json
+++ b/tests/test_data/whatsgabycooking.com/whatsgabycooking.json
@@ -54,6 +54,7 @@
     "servingSize": "1 serving"
   },
   "ratings": 5.0,
+  "ratings_count": 2,
   "site_name": "What's Gaby Cooking",
   "title": "Vegetarian Quinoa Bake",
   "total_time": 45,
diff --git a/tests/test_data/williams-sonoma.com/williamssonoma_2.json b/tests/test_data/williams-sonoma.com/williamssonoma_2.json
index e3a855a8..b2eedda7 100644
--- a/tests/test_data/williams-sonoma.com/williamssonoma_2.json
+++ b/tests/test_data/williams-sonoma.com/williamssonoma_2.json
@@ -63,6 +63,7 @@
   ],
   "language": "en",
   "ratings": 4.0,
+  "ratings_count": 8,
   "site_name": "Williams Sonoma",
   "title": "Double Chocolate Layer Cake",
   "total_time": 80,
diff --git a/tests/test_data/yemek.com/yemek.json b/tests/test_data/yemek.com/yemek.json
index f5455a93..fb3b3bd0 100644
--- a/tests/test_data/yemek.com/yemek.json
+++ b/tests/test_data/yemek.com/yemek.json
@@ -63,6 +63,7 @@
   ],
   "language": "tr",
   "ratings": 5.0,
+  "ratings_count": 3,
   "site_name": "https://yemek.com",
   "title": "Köri Soslu Tavuklu Patates Topları",
   "total_time": 85,
diff --git a/tests/test_data/yummly.com/yummly.json b/tests/test_data/yummly.com/yummly.json
index ff4544ec..a716fa78 100644
--- a/tests/test_data/yummly.com/yummly.json
+++ b/tests/test_data/yummly.com/yummly.json
@@ -48,6 +48,7 @@
     "sugarContent": "1 grams"
   },
   "ratings": 4.7,
+  "ratings_count": 20,
   "site_name": null,
   "title": "Easy White Cheese & Garlic Pizzas",
   "total_time": 25,
diff --git a/tests/test_data/zenbelly.com/zenbelly.json b/tests/test_data/zenbelly.com/zenbelly.json
index 4c60fb56..a66d0b78 100644
--- a/tests/test_data/zenbelly.com/zenbelly.json
+++ b/tests/test_data/zenbelly.com/zenbelly.json
@@ -53,6 +53,7 @@
   ],
   "language": "en-US",
   "ratings": 5.0,
+  "ratings_count": 4,
   "site_name": "zenbelly",
   "title": "Paleo Gingerbread",
   "total_time": 40,