# Insert keyframe on an object's custom property with Python

How can I add keyframes to custom properties with python? Usually, I can use the function

object.keyframe_insert(data_path="location")


but I couldn't find the right data_path of a custom property.

• Thanks ideasman42, it works perfectly. Never used StackExchenge and it is difficult for me to not at least thank you for your efficient help. But I didn't found where is the best place to put this thanks... – Salvatore Oct 11 '13 at 13:16
• You can thank ideasman42 by accepting the answer. Just click the 'v' and it turns green :) – jasperge Feb 19 '14 at 0:13
• you are right, it's done. – Salvatore Feb 20 '14 at 20:17

Keyframes on custom properties use Python's getitem/setitem syntax rather then getattr/setattr.

This matches python api, where you would access object.location as an attribute and object["prop"] for a custom property.

So you would need to write it like this:

object.keyframe_insert(data_path='["prop"]')


Note that you have to use " quotes, not ',
'["prop"]' can be written as "[\"prop\"]" too of course.

I think we have this documented, I'll have to double check though.