{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/g2/category.json","title":"g2/category data fields","description":"Optional data supplied by this operation. Null means unknown.","type":"object","properties":{"breadcrumbs":{"description":"Optional breadcrumbs 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"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}},"count":{"description":"Number of records in this response, not lifetime or total matches.","type":["number","null"]},"cursor":{"description":"Opaque next-page token; pass it back unchanged. Null does not prove complete history.","type":["string","null"]},"description":{"description":"Source description; null or absent means not supplied.","type":["string","null"]},"has_more":{"description":"Source continuation indicator; null means unknown.","type":["boolean","null"]},"items":{"description":"Returned records. Source coverage and completeness vary.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":"object","properties":{"cons":{"description":"Optional cons supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}},"image":{"description":"Optional image 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"]},"position":{"description":"Optional position supplied by this operation. Null means unknown.","type":["number","null"]},"pricing":{"description":"Optional pricing supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string","null"]},"high":{"description":"Optional high supplied by this operation. Null means unknown.","type":["number","null"]},"low":{"description":"Optional low supplied by this operation. Null means unknown.","type":["number","null"]},"offers":{"description":"Optional offers supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true},"product_id":{"description":"Optional product id supplied by this operation. Null means unknown.","type":["number","null"]},"product_uuid":{"description":"Optional product uuid supplied by this operation. Null means unknown.","type":["string","null"]},"pros":{"description":"Optional pros supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}},"rating":{"description":"Source rating; read its accompanying scale and vote count.","type":["object","null"],"properties":{"average":{"description":"Optional average supplied by this operation. Null means unknown.","type":["number","null"]},"count":{"description":"Number of records in this response, not lifetime or total matches.","type":["number","null"]}},"additionalProperties":true},"slug":{"description":"Optional slug supplied by this operation. Null means unknown.","type":["string","null"]},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]},"vendor":{"description":"Optional vendor supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["number","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"slug":{"description":"Optional slug supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["cons"],"properties":{"cons":{"description":"Optional cons supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}}}},{"required":["image"],"properties":{"image":{"description":"Optional image 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":["position"],"properties":{"position":{"description":"Optional position supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["pricing"],"properties":{"pricing":{"description":"Optional pricing supplied by this operation. Null means unknown.","type":["object"],"properties":{"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string","null"]},"high":{"description":"Optional high supplied by this operation. Null means unknown.","type":["number","null"]},"low":{"description":"Optional low supplied by this operation. Null means unknown.","type":["number","null"]},"offers":{"description":"Optional offers supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true}}},{"required":["product_id"],"properties":{"product_id":{"description":"Optional product id supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["product_uuid"],"properties":{"product_uuid":{"description":"Optional product uuid supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["pros"],"properties":{"pros":{"description":"Optional pros supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}}}},{"required":["rating"],"properties":{"rating":{"description":"Source rating; read its accompanying scale and vote count.","type":["object"],"properties":{"average":{"description":"Optional average supplied by this operation. Null means unknown.","type":["number","null"]},"count":{"description":"Number of records in this response, not lifetime or total matches.","type":["number","null"]}},"additionalProperties":true}}},{"required":["slug"],"properties":{"slug":{"description":"Optional slug supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["url"],"properties":{"url":{"description":"Original source URL when supplied.","type":["string"],"minLength":1}}},{"required":["vendor"],"properties":{"vendor":{"description":"Optional vendor supplied by this operation. Null means unknown.","type":["object"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["number","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"slug":{"description":"Optional slug supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true}}}]}]}},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"page":{"description":"Optional page supplied by this operation. Null means unknown.","type":["number","null"]},"page_size":{"description":"Optional page size supplied by this operation. Null means unknown.","type":["number","null"]},"pages":{"description":"Optional pages supplied by this operation. Null means unknown.","type":["number","null"]},"platform":{"description":"Optional platform supplied by this operation. Null means unknown.","type":["string","null"]},"slug":{"description":"Optional slug supplied by this operation. Null means unknown.","type":["string","null"]},"sort":{"description":"Optional sort supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"order_param":{"description":"Optional order param supplied by this operation. Null means unknown.","type":["string","null"]},"requested":{"description":"Optional requested supplied by this operation. Null means unknown.","type":["string","null"]},"verified":{"description":"Optional verified supplied by this operation. Null means unknown.","type":["boolean","null"]}},"additionalProperties":true},"source":{"description":"Optional source supplied by this operation. Null means unknown.","type":["string","null"]},"total_listings":{"description":"Optional total listings supplied by this operation. Null means unknown.","type":["number","null"]},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]}},"additionalProperties":true,"required":["items"],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"breadcrumbs":[{"name":"example","url":"https://example.com/example"}],"count":0,"cursor":null,"description":"example","has_more":false,"items":[{"cons":["example"],"image":"https://example.com/example","name":"example","platform":"example","position":0,"pricing":{"currency":"example","high":0,"low":0,"offers":0},"product_id":0,"product_uuid":"example","pros":["example"],"rating":{"average":0,"count":0},"slug":"example","type":"example","url":"https://example.com/example","vendor":{"id":0,"name":"example","slug":"example","url":"https://example.com/example"}}],"name":"example","page":0,"page_size":0,"pages":0,"platform":"example","slug":"example","sort":{"order_param":"example","requested":"example","verified":false},"source":"example","total_listings":0,"type":"example","url":"https://example.com/example"}]}