Is there any metadata stored in Contacts.app contacts that would store when a contact was created or last edited?

Solution 1:

You can use AppleScript to get the creation date and modification date of any contact in the Contacts app. Here is an example script that works on the entire Contacts file. At the end, you have a tab-delimited result called "the_text" which you can copy and paste into Numbers or Excel or whatever.

set the_text to ""
--
tell application "Contacts"
    set the_contacts to every person
    repeat with a_contact in the_contacts
        tell a_contact
            set the_name to name
            set long_creation_date to creation date
            set creation_date to short date string of long_creation_date
            set long_modification_date to modification date
            set modification_date to short date string of long_modification_date
            set the_text to the_text & return & the_name & tab & creation_date & tab & modification_date
        end tell
    end repeat
end tell

return the_text

The creation date of a contact is the full date, with time. So is the modification date. They look like this:

"Thursday, July 6, 2017 at 2:11:34 PM"

By asking for the "short date string" of those dates we get dates that look like this:

"7/6/17"

That format may be more useful for you for sorting purposes than the full long date with time.