You can see the process I went through to find a good fit for my Bolt. Each pair of holes was measured, and they all turned out to be the same distance apart, 120mm between holes. The bolt holes aren't all in a strait line, but rather follow the contour of the roof. To get started, I discovered the thread size for my car's factory roof rails, which is for a 6mm bolt on the 2017 Chevy Bolt. This rack would otherwise hold a lot more, so use your best judgement and research your vehicle. Since this comes from multiple 3rd-party rack venders, I'm assuming this is based on the roof limitations. On my Chevy Bolt, all the literature I can find about roof racks mentions a 160lb max capacity. If you have another roof type, you will have to come up with your own connection method. This example is for any cars with factory attachment points already available.
Not all cars have the same roof layout, so this approach certainly won't work for everyone.