The short answer
Programmatic SEO is not spam when each page has a real user job, useful data or examples, and a clean place in the site architecture.
The risk starts when pages only swap a keyword, city, industry, or tool name while the rest of the page stays almost identical.
Good page patterns
Useful patterns include integration pages with real setup detail, comparison pages with actual differences, template libraries with usable downloads, directories with meaningful filters, and data pages with specific insights.
The common thread is that the repeated structure helps the reader decide or act faster.
Weak page patterns
Weak patterns swap one keyword or location while leaving the page otherwise identical. Those pages rarely help users make a better decision.
City pages are especially risky when the business has no local proof, no local service difference, and no unique information for that city.
What unique value can look like
Unique value can come from product compatibility, local requirements, pricing context, screenshots, examples, source-backed data, setup steps, or a comparison that changes meaningfully from page to page.
Generated prose alone is rarely enough. The page needs material that could not be produced by replacing one word in a template.
How to evaluate a pattern
Ask whether the page would still deserve to exist if search engines did not. If the answer is no, improve the data, examples, and user value before scaling.
Also check whether the site can link to the collection naturally. A page pattern that cannot be reached or explained inside the site is usually not ready.
How to scale safely
Start with a small batch, review quality, check indexation, improve the template, and add internal links before expanding volume.
Scaling should follow proof that the first pages are useful, not a calendar target or page-count goal.