{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/g2/product.json","title":"g2/product data fields","description":"Optional data supplied by this operation. Null means unknown.","type":"object","properties":{"alternatives":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"categories":{"description":"Optional categories supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}},"category":{"description":"Optional category supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"company":{"description":"Optional company supplied by this operation. Null means unknown.","type":["object","null"],"properties":{},"additionalProperties":true},"comparisons":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"description":{"description":"Source description; null or absent means not supplied.","type":["string","null"]},"features":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"logo":{"description":"Optional logo supplied by this operation. Null means unknown.","type":["string","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"platform":{"description":"Optional platform supplied by this operation. Null means unknown.","type":["string","null"]},"pricing_plans":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"rating":{"description":"Source rating; read its accompanying scale and vote count.","type":["number","null"]},"review_count":{"description":"Optional review count supplied by this operation. Null means unknown.","type":["number","null"]},"reviews_url":{"description":"Optional reviews url supplied by this operation. Null means unknown.","type":["string","null"]},"score":{"description":"Optional score supplied by this operation. Null means unknown.","type":["number","null"]},"seller":{"description":"Optional seller supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"slug":{"description":"Optional slug supplied by this operation. Null means unknown.","type":["string","null"]},"social":{"description":"Optional social supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"discord":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"facebook":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"github":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"instagram":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"linkedin":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"twitter":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"youtube":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}}},"additionalProperties":true},"summary":{"description":"Optional summary supplied by this operation. Null means unknown.","type":["string","null"]},"technologies":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"url":{"description":"Original source URL when supplied.","type":["string","null"]},"website_inferred":{"description":"Optional website inferred supplied by this operation. Null means unknown.","type":["boolean","null"]}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["alternatives"],"properties":{"alternatives":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["categories"],"properties":{"categories":{"description":"Optional categories supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}}},{"required":["category"],"properties":{"category":{"description":"Optional category supplied by this operation. Null means unknown.","type":["object"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}},{"required":["company"],"properties":{"company":{"description":"Optional company supplied by this operation. Null means unknown.","type":["object"],"properties":{},"additionalProperties":true}}},{"required":["comparisons"],"properties":{"comparisons":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["description"],"properties":{"description":{"description":"Source description; null or absent means not supplied.","type":["string"],"minLength":1}}},{"required":["features"],"properties":{"features":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["logo"],"properties":{"logo":{"description":"Optional logo supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["name"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["pricing_plans"],"properties":{"pricing_plans":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["rating"],"properties":{"rating":{"description":"Source rating; read its accompanying scale and vote count.","type":["number"]}}},{"required":["review_count"],"properties":{"review_count":{"description":"Optional review count supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["reviews_url"],"properties":{"reviews_url":{"description":"Optional reviews url supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["score"],"properties":{"score":{"description":"Optional score supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["seller"],"properties":{"seller":{"description":"Optional seller supplied by this operation. Null means unknown.","type":["object"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}},{"required":["slug"],"properties":{"slug":{"description":"Optional slug supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["social"],"properties":{"social":{"description":"Optional social supplied by this operation. Null means unknown.","type":["object"],"properties":{"discord":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"facebook":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"github":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"instagram":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"linkedin":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"twitter":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"youtube":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}}},"additionalProperties":true}}},{"required":["summary"],"properties":{"summary":{"description":"Optional summary supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["technologies"],"properties":{"technologies":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["url"],"properties":{"url":{"description":"Original source URL when supplied.","type":["string"],"minLength":1}}},{"required":["website_inferred"],"properties":{"website_inferred":{"description":"Optional website inferred supplied by this operation. Null means unknown.","type":["boolean"]}}}]}],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"alternatives":[],"categories":[{"name":"example"}],"category":{"name":"example"},"company":{},"comparisons":[],"description":"example","features":[],"logo":"example","name":"example","platform":"example","pricing_plans":[],"rating":0,"review_count":0,"reviews_url":"https://example.com/example","score":0,"seller":{"name":"example"},"slug":"example","social":{"discord":[],"facebook":[],"github":[],"instagram":[],"linkedin":[],"twitter":[],"youtube":[]},"summary":"example","technologies":[],"url":"https://example.com/example","website_inferred":false}]}