Concerning first query,
No, you do not have to run your personal node. What I do know is blockstream esplora supplies public API with documentation you possibly can work with.
Concerning second query,
It is dependent upon what sort of segwit tackle(p2wpkh, p2wsh, p2tr) it’s, however I assume what you wish to spend could be the commonest segwit transaction, which is p2wpkh(single signature with public key).
For p2wpkh segwit spend, you possibly can refer under code working for nodejs, which you’ll find right here, too.
import * as bitcoin from 'bitcoin-sdk-js';
const privkey =
'e6c58327b4bf1314296bba7adb66f94c36ea5611ac07830c229aa7ee6f9caac3';
const toAddress="tb1qmjqyknun9umlwlle5nuy8jz9ms7v85cp7k2nfe";
const toValue = 300000; // unit is satoshi
const txHash="8bcd197873dbff5cc67cb3e0b1cbbdf097c7af94b0e9365adecb424e408294bf";
const inputValue = 310981; // payment is enter worth - whole worth
const tx = new bitcoin.Transaction();
await tx.addInput({
txHash: txHash,
index: n, // it ought to be vout of utxo, index of utxo in transation
worth: inputValue,
});
await tx.addOutput({
tackle: toAddress,
worth: toValue,
});
await tx.signInput(privkey, 0);
const txHex = await tx.getSignedHex();
For different sort of segwit tackle, it actually varies on unlocking script, so there’s probably not a technique resolution for it.