Guide
Kodexempel
Exempel på företagsuppslag, paginering och hantering av användningsgränser i flera språk.
Exemplen hämtar nyckeln från miljövariabeln FIRMAINFO_API_KEY. Byt bara identifieraren och lägg till de fält eller filter som din integration behöver.
curl "https://firmainfo.se/api/v1/companies/5560125790" \
-H "Authorization: Bearer $FIRMAINFO_API_KEY"
import os
import requests
BASE = "https://firmainfo.se/api/v1"
session = requests.Session()
session.headers["Authorization"] = f"Bearer {os.environ['FIRMAINFO_API_KEY']}"
response = session.get(f"{BASE}/companies/5560125790", timeout=30)
response.raise_for_status()
company = response.json()
print(company["name"], company["registration_number"])
const BASE = "https://firmainfo.se/api/v1";
const response = await fetch(`${BASE}/companies/5560125790`, {
headers: { Authorization: `Bearer ${process.env.FIRMAINFO_API_KEY}` },
});
if (!response.ok) {
const { error } = await response.json();
throw new Error(`${error.code}: ${error.message} (${error.request_id})`);
}
const company = await response.json();
console.log(company.name, company.registration_number);
using var client = new HttpClient { BaseAddress = new Uri("https://firmainfo.se/api/v1/") };
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("FIRMAINFO_API_KEY"));
var company = await client.GetFromJsonAsync<JsonElement>("companies/5560125790");
Console.WriteLine(company.GetProperty("name").GetString());
<?php
$key = getenv('FIRMAINFO_API_KEY');
$context = stream_context_create([
'http' => ['header' => "Authorization: Bearer {$key}\r\n"],
]);
$body = file_get_contents(
'https://firmainfo.se/api/v1/companies/5560125790',
false,
$context
);
$company = json_decode($body, true);
echo $company['name'], PHP_EOL;
req, _ := http.NewRequest("GET", "https://firmainfo.se/api/v1/companies/5560125790", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("FIRMAINFO_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
var company map[string]any
json.NewDecoder(resp.Body).Decode(&company)
fmt.Println(company["name"])
Läs alla resultatsidor
import os
import requests
BASE = "https://firmainfo.se/api/v1"
session = requests.Session()
session.headers["Authorization"] = f"Bearer {os.environ['FIRMAINFO_API_KEY']}"
params = {"county": "14", "revenue_min": 50_000_000, "sort": "revenue", "limit": 100}
cursor = None
while True:
if cursor:
params["cursor"] = cursor
page = session.get(f"{BASE}/companies", params=params, timeout=30).json()
for company in page["data"]:
print(company["registration_number"], company["name"])
if not page["has_more"]:
break
cursor = page["next_cursor"]
Hantera ett 429-svar
import time
import requests
def get(session, url, **kwargs):
for attempt in range(5):
response = session.get(url, timeout=30, **kwargs)
if response.status_code != 429:
response.raise_for_status()
return response.json()
# Retry-After finns alltid på 429 — respektera det i stället för att gissa.
time.sleep(int(response.headers.get("Retry-After", 2 ** attempt)))
raise RuntimeError("rate limited: gav upp efter 5 försök")