curl -G 'https://socialtap.dev/v1/linkedin/profile' \
--data-urlencode 'handle=https://www.linkedin.com/in/satyanadella/' \
-H "x-api-key: $SOCIALTAP_API_KEY"
const params = new URLSearchParams({
handle: "https://www.linkedin.com/in/satyanadella/",
});
const res = await fetch(`https://socialtap.dev/v1/linkedin/profile?${params}`, {
headers: { "x-api-key": process.env.SOCIALTAP_API_KEY ?? "" },
});
const body = await res.json();
if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
const { data, meta } = body;
console.log(data, meta.credits_charged);
import os
import requests
res = requests.get(
"https://socialtap.dev/v1/linkedin/profile",
params={"handle": "https://www.linkedin.com/in/satyanadella/"},
headers={"x-api-key": os.environ["SOCIALTAP_API_KEY"]},
)
body = res.json()
if not res.ok:
raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
data, meta = body["data"], body["meta"]
print(data, meta["credits_charged"])
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
"net/url"
"os"
)
func main() {
q := url.Values{}
q.Set("handle", "https://www.linkedin.com/in/satyanadella/")
req, err := http.NewRequest("GET", "https://socialtap.dev/v1/linkedin/profile?"+q.Encode(), nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("x-api-key", os.Getenv("SOCIALTAP_API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
var body struct {
Data json.RawMessage `json:"data"`
Meta map[string]any `json:"meta"`
Error *struct {
Code string `json:"code"`
Message string `json:"message"`
} `json:"error"`
}
if err := json.NewDecoder(res.Body).Decode(&body); err != nil {
log.Fatal(err)
}
if body.Error != nil {
log.Fatalf("%s: %s", body.Error.Code, body.Error.Message)
}
fmt.Println(string(body.Data), body.Meta["credits_charged"])
}