You need to decide whether you need UXP plugin or C++ Plugin.
For older version of InDesign, CEP Extension or C++ Plugin was the solution.
CEP is obsolete now and UXP is introduced recently.
UXP plugin is based on javascript/HTML/CSS and you could use framework such as react.
Developing UXP plugins requires less learning curve and can be easily created by a web developer. You need to search on InDesign Javascript APIs.
For C++ Plugin, you require InDesign SDK.
Developing C++ Plugins require advance skills of C++ and knowledge of InDesign SDK itself. It takes months and years to get expertise with InDesign SDK.
If speed is your concern then C++ is the way to go. Also, there are some functionalities that can only be implemented by a C++ Plugin and not by UXP.
You can download InDesign SDK from -
https://developer.adobe.com/console/servicesandapis
-Rahul Rastogi
Adobe InDesign C++ Plugin Architect
Rahul is correct, however, I would like to add a couple of small clarifications:
For older version of InDesign, CEP Extension or C++ Plugin was the solution.
CEP is obsolete now and UXP is introduced recently.
CEP is only being maintained for security, and is no longer under active development. I wouldn't say it's "obsolete" in InDesign, as InDesign is continuing to support CEP for now and has not announced a deprecation date. (Photoshop stopped supporting CEP on M1 processors.)
The downside to CEP is that you're communicating with ExtendScript, which is based on JavaScript from 1999... nevertheless, there are a number of resources available for InDesign developers building on CEP.
Official:
From the community:
You can download InDesign SDK from -
https://developer.adobe.com/console/servicesandapis
There's a direct link here as well: https://developer.adobe.com/console/servicesandapis/id
If you get "access denied" try a personal account instead of a Corporate or School account.