A framework for API integrations.
Build better applications, use more APIs.

Superface is a language and protocol for abstracting integrations to application use–cases.

It allows use–case discovery and distribution of integration code at runtime. This approach gives you a framework to decouple lifecycle of your application and integrations it uses.

Interface definition

"""

Face Detection

Detects faces on publicly-accessible image URL

"""

usecase FaceDetection {

 input {

  """

  Image URL

  Publicly-accessible image URL

  """

  imageUrl! string!

 }

 result [{

  faces! [{

   faceRectangle! faceRectangle!

   landmarks! [landmark]!

   emotions! emotions!

  }]!

 }]!

}

API map

"""

FaceDetection map

"""

map FaceDetection {

 http POST "/v1/images:annotate" {

  security "google-api-key"

  request {

    headers {

     "Content-Type" = "application/json"

    }

    body {

     requests = [{

      features: [

       {

       maxResults: 1,

       type: "FACE_DETECTION"

       }

      ],

      image: {

       source: {

       imageUri: input.imageUrl

       }

      }

     }]

    }

  }

 }

}

See it in action

Explore ready made solutions

geolocation · geocoding · SMS · image processing · NLP · analytics · crypto exchange · email · weather · social media · CRM
Browse use-cases

Geocode with Superface

Quickly integrate with the best geocoding providers
View geocode solution

Join the community

Support us on GitHub by opening issue, PR or just stargaze

Contribute

Join our Discord, ask questions or request a use-case

Chat