Back to Playground

CRM API Research

Comparison of 10 popular CRM platforms and their API capabilities

CRMBest ForPricing (user/mo)API
AffinityVCs, PE, deal teams$167 - 225REST openapi
AttioModern startups, flexible$0 - 119REST openapi
CloseInside sales, outbound$19 - 149REST
Dynamics 365Microsoft ecosystem$65 - 150OData openapi
FreshsalesStartups, built-in phone$0 - 69REST
HubSpotSMBs, marketing alignment$0 - 150REST github openapi
Monday.comProject-centric teams$12 - 28GraphQL
PipedriveSMB sales, visual pipeline$14 - 79REST openapi
SalesforceEnterprise, large orgs$25 - 500REST openapi
Zoho CRMBudget-conscious SMBs$0 - 52REST github openapi

Company Field Mapping

CRMObjectNameWebsiteIndustryEmployeesRevenueOwner
AffinityCompaniesnamedomain
AttioCompaniesnamedomainsindustryteam_size
CloseLeadsnameurlcustomcustomcustom
Dynamics 365Accountnamewebsiteurlindustrycodenumberofemployeesrevenueownerid
FreshsalesAccountsnamewebsiteindustry_type_idnumber_of_employeesannual_revenueowner_id
HubSpotCompaniesnamedomainindustrynumberofemployeesannualrevenuehubspot_owner_id
Monday.comItemsitem_namecustomcustomcustomcustomcustom
PipedriveOrganizationsnameowner_id
SalesforceAccountNameWebsiteIndustryNumberOfEmployeesAnnualRevenueOwnerId
Zoho CRMAccountsAccount_NameWebsiteIndustryEmployeesAnnual_RevenueOwner

Contact Field Mapping

CRMObjectFirst NameLast NameTitleEmailPhoneLinkedInRoleCompany
AffinityPersonsfirst_namelast_namecustomemails[]phone_numbers[]list fieldsorganization_ids[]
AttioPeoplenamejob_titleemail_addresses[]phone_numbers[]linkedincustomcompany
CloseContactsnametitleemails[]phones[]urls[]lead_id
Dynamics 365Contactfirstnamelastnamejobtitleemailaddress1telephone1customaccountrolecodeparentcustomerid
FreshsalesContactsfirst_namelast_namejob_titleemailmobile_numberlinkedinsales_account_id
HubSpotContactsfirstnamelastnamejobtitleemailphonehs_linkedinidassoc. labelassociation
Monday.comItemsitem_namecustomcustomcustomcustomcustomconnect boards
PipedrivePersonsnamecustomemail[]phone[]customorg_id
SalesforceContactFirstNameLastNameTitleEmailPhonecustomACR.RolesAccountId
Zoho CRMContactsFirst_NameLast_NameTitleEmailPhoneLinkedInContact_RoleAccount_Name

Relationship Mapping

CRMBest ForObjectExample
AffinityNative many-to-manyorganization_ids[]Person.organization_ids = [company_1, company_2]
AttioFlexible attributescompany (multi)Person linked to multiple companies via attribute
CloseLead-centric (1:1)Contact belongs to exactly one Lead
Dynamics 365Junction entityConnectionConnection links Contact to Account with role
FreshsalesSimple (1:1)Contact linked to one Account via sales_account_id
HubSpotAssociations APIAssociationPOST /associations/contact/company with label
Monday.comBoard linkingConnect BoardsColumn type links items across boards
PipedriveSimple (1:1)Person linked to one Organization via org_id
SalesforceJunction objectAccountContactRelationContactId + AccountId + Roles (CEO, Advisor)
Zoho CRMSimple (1:1)Contact linked to one Account via Account_Name