How to add pictures to spreadsheet cells with Google Sheets REST API

I know that when you use Google Apps Script, there’s a method called insertImage that lets you put images directly into spreadsheet cells. This works great for Apps Script projects.

However, I’m working with the Google Sheets REST API instead of Apps Script. I’ve been looking through the API documentation but I can’t find any endpoint or method that does the same thing. I need to programmatically insert images into specific cells in my Google Sheets document.

Does anyone know if this is possible using the REST API? If so, what’s the correct approach? I’ve tried looking at the batch update methods but nothing seems to handle image insertion. Any help would be appreciated!

Unfortunately, the Google Sheets REST API doesn’t support inserting images into cells like Apps Script’s insertImage method does. It’s one of those frustrating gaps where the REST API hasn’t caught up with Apps Script yet. I’ve worked with both APIs and found the best workaround is uploading the image through Google Drive API first, then referencing it somehow. Some developers I know create a simple Apps Script web app that accepts REST calls and uses insertImage internally. It’s an extra step, but it works when you need to stick with REST workflows. Google’s been slowly expanding REST API features, so this might get added eventually, but right now the gap is real.

Yeah, this REST API limitation is super frustrating when you’re trying to keep your tech stack consistent. Hit the same wall about six months ago building an automation system. I ended up going hybrid - used Drive API for image uploads, then Sheets API’s mergeCells and NOTE requests to reference the image location. Not the same as having images directly in cells, but it kept everything in REST. Also tried using Drawing API to create diagrams with images, then embedding those as sheet objects - but that was total overkill for basic image insertion. Ethan’s Apps Script web app wrapper is probably your best bet if you really need true cell-embedded images.

i get what ur sayin! with REST API, u gotta upload ur images to Drive first b4 u can use them in sheets. then link it to the cell. it’s not as smooth as just using insertImage in Apps Script, but if u work with REST, that’s how it goes.