Quickstart
Learn how to verify YC companies and founders using YCVerify.
-
Create an account at developer portal.
-
Go to account profile -> API Keys, create a new API key. Save the API key as it won't be shown again.
-
In this example, we will verify a new user signing up via a YC deal. We will use the following sample user data.
-
Send a verification request.
const request = require('request'); const options = { method: 'POST', url: 'https://api.ycverify.com/v1/verify', headers: { 'Content-Type': 'application/json', 'Api-Key': 'YOUR-API-KEY' }, body: { "companyName": "Stripe", "firstName": "Patrick", "lastName": "Collison", "emailAddress": "patrick@stripe.com" }, json: true }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
<?php require_once 'HTTP/Request2.php'; $request = new HTTP_Request2(); $request->setUrl('https://api.ycverify.com/v1/verify'); $request->setMethod(HTTP_Request2::METHOD_POST); $request->setConfig(array( 'follow_redirects' => TRUE )); $request->setHeader(array( 'Content-Type' => 'application/json', 'Api-Key' => 'YOUR-API-KEY' )); $request->setBody('{\n "companyName": "Stripe",\n "firstName": "Patrick",\n "lastName": "Collison",\n "emailAddress": "patrick@stripe.com"\n}'); try { $response = $request->send(); if ($response->getStatus() == 200) { echo $response->getBody(); } else { echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' . $response->getReasonPhrase(); } } catch(HTTP_Request2_Exception $e) { echo 'Error: ' . $e->getMessage(); }
require "uri" require "json" require "net/http" url = URI("https://api.ycverify.com/v1/verify") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request["Api-Key"] = "YOUR-API-KEY" request.body = JSON.dump({ "companyName": "Stripe", "firstName": "Patrick", "lastName": "Collison", "emailAddress": "patrick@stripe.com" }) response = https.request(request) puts response.read_body
import requests import json url = "https://api.ycverify.com/v1/verify" payload = json.dumps({ "companyName": "Stripe", "firstName": "Patrick", "lastName": "Collison", "emailAddress": "patrick@stripe.com" }) headers = { 'Content-Type': 'application/json', 'Api-Key': 'YOUR-API-KEY' } response = requests.request("POST", url, headers=headers, data=payload) print(response.json())
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://api.ycverify.com/v1/verify" method := "POST" payload := strings.NewReader(`{ "companyName": "Stripe", "firstName": "Patrick", "lastName": "Collison", "emailAddress": "patrick@stripe.com" }`) client := &http.Client { } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) return } req.Header.Add("Content-Type", "application/json") req.Header.Add("Api-Key", "YOUR-API-KEY") res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
Unirest.setTimeouts(0, 0); HttpResponse<String> response = Unirest.post("https://api.ycverify.com/v1/verify") .header("Content-Type", "application/json") .header("Api-Key", "YOUR-API-KEY") .body("{\"companyName\": \"Stripe\",\"firstName\": \"Patrick\",\"lastName\": \"Collison\",\"emailAddress\": \"patrick@stripe.com\"}") .asString();
let parameters = "{\"companyName\": \"Stripe\",\"firstName\": \"Patrick\",\"lastName\": \"Collison\",\"emailAddress\": \"patrick@stripe.com\"}" let postData = parameters.data(using: .utf8) var request = URLRequest(url: URL(string: "https://api.ycverify.com/v1/verify")!,timeoutInterval: Double.infinity) request.addValue("application/json", forHTTPHeaderField: "Content-Type") request.addValue("YOUR-API-KEY", forHTTPHeaderField: "Api-Key") request.httpMethod = "POST" request.httpBody = postData let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print(String(describing: error)) return } print(String(data: data, encoding: .utf8)!) } task.resume()
#[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let client = reqwest::Client::builder() .build()?; let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Content-Type", "application/json".parse()?); headers.insert("Api-Key", "YOUR-API-KEY".parse()?); let data = r#"{ "companyName": "Stripe", "firstName": "Patrick", "lastName": "Collison", "emailAddress": "patrick@stripe.com" }"#; let json: serde_json::Value = serde_json::from_str(&data)?; let request = client.request(reqwest::Method::POST, "https://api.ycverify.com/v1/verify") .headers(headers) .json(&json); let response = request.send().await?; let body = response.text().await?; println!("{}", body); Ok(()) }
-
The API returns the following JSON output - YC verified
-
Try it yourself in API playground.