Request for comments

You've got maila new messagea new frienda new subscribera new customer.

Contact pages are already ubiquitous. It's time to make them portable. Convert "the best way to contact _____" into actual connections.

GET /.well-known/contact.vcf
HTTP/1.1 200 OK Content-Type: text/vcard; charset=utf-8
BEGIN:VCARD
VERSION:4.0
FN:Jordan Doe
EMAIL;PREF=1:[email protected]
URL:https://jordandoe.com
END:VCARD
DM

Jordan Doe

@jordandoe.com

Eager explorer, eternal optimist, passionate about taking the long way home.

Yes, you can email me

Why my contact page now has a machine-readable twin.

map[body:Eager explorer, eternal optimist, passionate about taking the long way home. heading:Jordan Doe links:[]]
Name Jordan Doe

For publishers

From personal websites to CMS platforms

Use the ContactSpec API to give public contact information escape velocity:

  • Create a contact.vcf file (vCard 3.0 or newer)
  • Publish it at /.well-known/contact.vcf
  • Allow CORS requests

That's it. That's all publishers need to implement.

Join the RFC โ†’
Sitemap
  1. /index.html
  2. /.well-known/contact.vcf
Request Discovery
GET https://jordandoe.com/.well-known/contact.vcf Host: jordandoe.com Accept: text/vcard If-None-Match: "5eb63bbbe01eeed093cb22bb8f5acdc3"
Response Verification
HTTP/1.1 200 OK TLS certificate for jordandoe.com: valid Content-Type: text/vcard; charset=utf-8

For subscribers

From RSS feed readers to next-gen social experiences

Use the ContactSpec API to help followers connect and engage with the feeds they follow.

  • Discovery is a single HTTP GET request
  • Parse responses using standard vCard libraries
  • Show DM & reply buttons

That's it. That's all subscribers need to implement.

Join the RFC โ†’

Open source, open process.

Help shape the future of the @contactspec.org API.

Join the RFC 1