The signals you get in a simple 1D proton spectrum are in most cases roughly quantitative, though there are some exceptions and some aspects you need to consider if you need high accuracy.
Acquisition
There are several things you need to keep in mind while setting up the experiment to ensure that the resulting NMR spectrum will be quantitative.
The spectrum should be of high quality, any artifacts and noise will affect the quantification.
Relaxation delay
The relaxation delay is the time between experiments, if it is too short some protons won't relax completely back to the equilibrium state. This affects the intensity of the NMR signal and will cause the integrals of those signals to be off.
The relaxation delay (including the acquisition time) should be around $5 \cdot \mathrm{T_1}$. You can either estimate the $\mathrm{T_1}$ or measure it.
13C satellites
The 13C satellites are around 1% of the total signal, if you need high accuracy you should use decoupling to get rid of those.
Other aspects
You also need to ensure that the pulses used in the experiment have a reasonably flat excitation profile for the area you're looking at. This is usually no problem for standard 1D proton experiments, but might be a problem for other kinds of experiments or if you have an unusually long pulse and/or and unusually wide distribution of your chemical shifts.
Processing
Baseline
The baseline should be absolutely flat and at exactly zero, any error there will lead to large errors in the quantification. Using a digital filter during acquisition is a good idea for that (baseopt
option for Bruker spectrometers), this will ensure a very flat baseline at zero, as long as no other problems distort the baseline.
Phasing
The phase-correction should be exact, it might be necessary to perform a manual phase-correction.