The Australasian snapper is found on all coasts of New Zealand, especially in the north. In Australia, it is found along the south coast, mainly near
Kiama,
Berry,
Gerringong,
Gerroa,
Huskisson,
Vincentia, and
Shoalhaven. It is also found on the coast of
Tasmania, but in smaller numbers. The fish spawn in inshore waters and live in rocky areas and reefs of up to deep. They school, and will migrate between reefs. Larger fish are known to enter estuaries and harbours, for example
Port Phillip Bay has a renowned seasonal snapper run. Growth rates within the wild stocks vary with some (i.e. the Hauraki Gulf, NZ) growing rapidly and to a smaller maximum length, while stocks in east and west Australia are known to grow more slowly. The species is capable of living about 40 years throughout much of its range in Australia, and the Australian recordholder of 40 years and 10 months was a large-nosed male, caught on 1 September 2007 off Bunbury, Western Australia, and photographed on the day of capture. Sexual maturity is reached at about long and a small percentage of the males will turn into females at puberty. Large individuals of both sexes develop a prominent hump on the head. Anglers are advised not to take immature fish, so as not to reduce breeding stock. The legal size in Australia varies by state, from and a bag limit of five fish per person in
Queensland to in
Western Australia. During spawning, these fish obtain a metallic green sheen which indicates a high concentration of acid buildup within the scales' infrastructure. Minimum sizes are supposed to be designed to allow these fish to participate in spawning runs at least once before they become available to the fishery, but given the slow growth rates of this species, a need exists to consider area closures and/or further increase the minimum sizes in each state to reduce the chances of
growth overfishing of the various populations of snapper throughout its range. This may be important with recent developments in technology such as
GPS. ==Relationship with humans==