Look first at domain experience, not the number of logos on the website. Ask for two or three case studies that resemble your stack, and then find out whether those engineers are still with the azure web development company. A solid partner is happy to connect you with the tech lead. Vague answers at this stage generally mean you are talking to a reseller.
The paperwork warrants a slower read than the pitch. A few clauses carry most of the weight: assignment of intellectual property, confidentiality, and termination and handover. All the work product must transfer to you once invoices are settled, including designs, scripts and infrastructure configuration. Be careful with language that leaves reusable components with the vendor, as that is often the dependency that makes switching painful.
Ask how they estimate. A serious estimate is accompanied by a written set of assumptions, a task-level breakdown and a range rather than a single number. A fixed price works only when the requirements are stable and documented; otherwise the supplier prices the risk in and you fund the buffer regardless. Hourly billing moves the risk back to the client, so it needs a sprint cadence, demos and a budget cap.
The delivery process beats team size. Ask what happens when the scope changes, software development agency who signs off on a feature and how quality assurance works. A well-run team can show you a working build every one or two weeks. Acceptance criteria in writing remain the only reliable protection against the it-was-never-software development companies in united kingdom-scope conversation.
Finally, consider the end of the engagement at the start rather than at the end. Require that the code repository lives on infrastructure you own from the first commit, and that the documentation is refreshed in every sprint. A provider confident in its own work says yes immediately; a long negotiation over it reveals quite a lot.