other_ratings uses two scales — always check the dimension type before displaying
Three dimensions (business_outlook, ceo, recommend_to_friend) are approval ratios between 0.0 and 1.0. The remaining five are scores on a 0–5 scale. Build a lookup dict and apply the correct formatting for each type:
ceo_rating on individual reviews is a string enum, not a float
The aggregate ceo entry in other_ratings is a 0–1 float. The ceo_rating field on each individual review object is a string ("APPROVE", "DISAPPROVE", or null). These fields measure the same concept but have completely different types — never compare or mix them:
null
All seven per-review dimension fields (career_opportunities_rating, ceo_rating, compensation_and_benefits_rating, etc.) can be null when the reviewer did not provide a score. Always check before accessing:
review_date and location can be empty strings — not null
Unlike most APIs where absent values are null, these fields return an empty string "" when not provided. Use truthiness checks rather than is not None:
limit=0 or limit=1 when you only need aggregate scores
The overall_rating and other_ratings aggregate fields are always returned regardless of limit. When you only need the overview scores for a benchmark or monitoring check, set limit=1 to minimise response size and credit consumption:
is_current_employee and years_of_employment to segment reviews
Separating current from former employees, or filtering by tenure, can surface significantly different sentiment patterns — particularly useful when assessing post-acquisition or post-layoff cultural impact:
helpful_count to surface the most credible reviews
Reviews with a higher helpful_count have been up-voted by the community and tend to be more detailed and representative. Sort by helpful_count descending for qualitative diligence or executive briefings:
.png?fit=max&auto=format&n=tMpg-r-6yeOIk-hz&q=85&s=e0cafcb914826d8adc60e5092187e1ca)
.png?fit=max&auto=format&n=tMpg-r-6yeOIk-hz&q=85&s=f214ebe0a940d8aa0f19a709a6bfd7fa)