First thing to check before writing an extractor: does the site offer an API? When it does, that is almost always the right option. Saying so is more honest than selling a scraper on principle.
Why an API wins when it exists
An API is a contract. The publisher describes what it exposes, commits to a format, and gives notice when something changes.
An extractor reads a page built for human eyes. The day the site redesigns its layout, it breaks. That difference in stability is the main argument, and it is a serious one.
What an API will not give you
It exposes what its publisher decided to expose, rarely everything shown on screen. Then come the quotas, the volume pricing, the mandatory account, and terms of use that sometimes forbid precisely the cross-referencing you had in mind.
Sometimes it exists and still does not fit. Pricing above the value of the data, a refresh delay that is too long, one essential field missing.
The most common case: both
A comparison service tracking ten platforms may find two with a decent API. The other eight get collected another way. A mixed project is not an admission of failure, it is the normal situation.
Our rule fits on one line. The API where it covers the need, collection for the rest. The goal is getting the data, not using a technique. Our services cover both.