Code Examples

Copy-paste examples for fetching profiles and companies from the Random Profiles API. Replace YOUR_KEY with your API key.

Profiles · Companies

Profiles

cURL
# Fetch 5 profiles
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/profiles?count=5"

# Fetch as CSV
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/profiles?count=10&format=csv" -o profiles.csv

# Filter by country and gender
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/profiles?country=JP,BR&gender=female&count=3"
JavaScript / Node.js
const res = await fetch("https://random-profiles.com/v1/profiles?count=5", {
  headers: { "X-API-Key": "YOUR_KEY" },
});
const { profiles } = await res.json();
console.log(profiles[0].name.first, profiles[0].email);
Python
import requests

response = requests.get(
    "https://random-profiles.com/v1/profiles",
    headers={"X-API-Key": "YOUR_KEY"},
    params={"count": 5, "country": "US"},
)
profiles = response.json()["profiles"]
for p in profiles:
    print(p["name"]["first"], p["email"])
Go
package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://random-profiles.com/v1/profiles?count=5", nil)
    req.Header.Set("X-API-Key", "YOUR_KEY")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()

    var result struct {
        Profiles []map[string]any `json:"profiles"`
    }
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result.Profiles[0]["email"])
}
Ruby
require "net/http"
require "json"

uri = URI("https://random-profiles.com/v1/profiles?count=5")
req = Net::HTTP::Get.new(uri)
req["X-API-Key"] = "YOUR_KEY"

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
profiles = JSON.parse(res.body)["profiles"]
profiles.each { |p| puts "#{p['name']['first']} #{p['email']}" }
PHP
$ch = curl_init("https://random-profiles.com/v1/profiles?count=5");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: YOUR_KEY"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

foreach ($response["profiles"] as $p) {
    echo $p["name"]["first"] . " " . $p["email"] . "\n";
}
Java
import java.net.http.*;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://random-profiles.com/v1/profiles?count=5"))
    .header("X-API-Key", "YOUR_KEY")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
C#
using System.Net.Http;
using System.Text.Json;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_KEY");

var json = await client.GetStringAsync("https://random-profiles.com/v1/profiles?count=5");
var doc = JsonDocument.Parse(json);
foreach (var p in doc.RootElement.GetProperty("profiles").EnumerateArray())
{
    Console.WriteLine(p.GetProperty("email").GetString());
}

Companies

Filter by industry, country, or size brackets. Use fields= to request just the groups you need (name,industry,leadership,tech,…).

cURL
# 5 random companies
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/companies?count=5"

# 10 mid-size Technology companies from the US
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/companies?count=10&industry=Technology&country=US&size=201-500,501-1000"

# Only leadership + tech fields, as CSV
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/companies?count=50&fields=name,industry,leadership,tech&format=csv" -o companies.csv

# Deterministic (same seed = same companies)
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/companies?count=3&seed=42"

# Small-thumbnail logos (meta.logo_url points at 128px variant)
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/companies?count=10&logo_size=128"

# Walk the graph: company → its employee UUIDs → full employees
# 1. Fetch a company with its employee list
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/companies?count=1&fields=name,relationships"
# 2. Hydrate each employee_uuid via the profiles endpoint
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/profiles/EMPLOYEE_UUID"

# Profile with its company + colleagues
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/profiles?count=5&fields=name,job,relationships"

# Get a single company by UUID
curl -H "X-API-Key: YOUR_KEY" \
  "https://random-profiles.com/v1/companies/COMPANY_UUID"
JavaScript / Node.js
const params = new URLSearchParams({
  count: "10",
  industry: "Finance",
  country: "US,GB",
  fields: "name,industry,leadership,financial",
});

const res = await fetch(`https://random-profiles.com/v1/companies?${params}`, {
  headers: { "X-API-Key": "YOUR_KEY" },
});
const { companies } = await res.json();

companies.forEach((c) => {
  console.log(`${c.name} — CEO: ${c.leadership.ceo_name} — Revenue range: ${c.financial.revenue_range}`);
});
Python
import requests

response = requests.get(
    "https://random-profiles.com/v1/companies",
    headers={"X-API-Key": "YOUR_KEY"},
    params={
        "count": 10,
        "industry": "Healthcare",
        "size": "51-200,201-500",
        "fields": "name,industry,location,leadership,tech",
    },
)
companies = response.json()["companies"]
for c in companies:
    print(c["name"], "—", c["industry"], "@", c["location"]["city"])
Go
package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    url := "https://random-profiles.com/v1/companies?count=5&industry=Energy&country=DE,FR"
    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Set("X-API-Key", "YOUR_KEY")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()

    var result struct {
        Companies []map[string]any `json:"companies"`
    }
    json.NewDecoder(resp.Body).Decode(&result)
    for _, c := range result.Companies {
        fmt.Println(c["name"], "—", c["industry"])
    }
}
Ruby
require "net/http"
require "json"

uri = URI("https://random-profiles.com/v1/companies")
uri.query = URI.encode_www_form(count: 10, industry: "Retail", country: "GB,AU")
req = Net::HTTP::Get.new(uri)
req["X-API-Key"] = "YOUR_KEY"

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
companies = JSON.parse(res.body)["companies"]
companies.each { |c| puts "#{c['name']} — #{c['industry']} (#{c['size']})" }
PHP
$query = http_build_query([
    "count" => 10,
    "industry" => "Consulting",
    "size" => "11-50,51-200",
]);
$ch = curl_init("https://random-profiles.com/v1/companies?" . $query);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: YOUR_KEY"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

foreach ($response["companies"] as $c) {
    echo $c["name"] . " — " . $c["industry"] . "\n";
}
Java
import java.net.http.*;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://random-profiles.com/v1/companies?count=10&industry=Manufacturing&country=JP,DE"))
    .header("X-API-Key", "YOUR_KEY")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
C#
using System.Net.Http;
using System.Text.Json;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_KEY");

var url = "https://random-profiles.com/v1/companies?count=10&industry=Finance&fields=name,industry,leadership";
var json = await client.GetStringAsync(url);
var doc = JsonDocument.Parse(json);
foreach (var c in doc.RootElement.GetProperty("companies").EnumerateArray())
{
    Console.WriteLine(c.GetProperty("name").GetString());
}