Allabolag APIallabolag.se ↗
Search and retrieve detailed profiles for Swedish companies via the allabolag.se API. Access financials, org numbers, roles, and location data.
What is the Allabolag API?
The allabolag.se API provides access to Swedish company registry data through 2 endpoints, returning fields covering organization numbers, multi-year financials, board and management roles, and location coordinates. The get_company_details endpoint delivers structured annual report data including revenue and profit in SEK alongside contact and industry information, while the search endpoint lets you query by company name, keyword, or industry across the full allabolag.se index.
curl -X GET 'https://api.parse.bot/scraper/b04fe5e7-c5a5-4454-a72c-d822b6f0876c/search?page=1&query=IKEA' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace allabolag-se-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Allabolag SDK — search Swedish companies, drill into details."""
from parse_apis.allabolag_se_company_search_api import Allabolag, CompanyNotFound
client = Allabolag()
# Search for companies matching a keyword; limit= caps total items fetched.
for company in client.companysummaries.search(query="Volvo", limit=5):
print(company.name, company.link)
# Drill into the first result's full details via .details()
hit = client.companysummaries.search(query="IKEA", limit=1).first()
if hit:
detail = hit.details()
print(detail.name, detail.orgnr, detail.employees, detail.revenue)
for ind in detail.industries:
print(ind.code, ind.name)
if detail.corporate_structure:
print(detail.corporate_structure.parent_company_name, detail.corporate_structure.number_of_subsidiaries)
# Typed error handling for a non-existent company
try:
bad = client.companysummaries.search(query="IKEA", limit=1).first()
if bad:
bad.link = "/foretag/nonexistent-company/nowhere/nothing/ZZZZZZZZZZZZZ"
bad.details()
except CompanyNotFound as exc:
print(f"Not found: {exc.identifier}")
print("exercised: companysummaries.search / CompanySummary.details / CompanyNotFound")
Full-text search over Swedish companies by name, keyword, or industry. Returns a paginated list of matching companies with their name and path. Paginates via integer page counter. Each result carries a link usable as identifier for the detail endpoint.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search keyword (company name, industry, etc.) |
{
"type": "object",
"fields": {
"page": "integer current page number",
"companies": "array of company objects with name and link fields"
},
"sample": {
"data": {
"page": 1,
"companies": [
{
"link": "/foretag/ikea-of-sweden-ab/%C3%A4lmhult/industridesigners/2JYQ49RI5YFC1",
"name": "IKEA of Sweden AB"
},
{
"link": "/foretag/ikea-components-ab/%C3%A4lmhult/insatsvaror/2JZQE5JI63IHE",
"name": "IKEA Components AB"
}
]
},
"status": "success"
}
}About the Allabolag API
Search Endpoint
The search endpoint accepts a required query string — a company name, industry term, or keyword — and an optional page integer for paginating through results. It returns an array of company objects, each containing name, link, org_number, and a snippet field that provides a short contextual description. When the total result count is available, it is returned as the total field alongside page and companies.
Company Details Endpoint
The get_company_details endpoint accepts either a 10-digit Swedish organization number (e.g. 5560743089) or a full /foretag/ path taken directly from a search result's link field. Bare internal ID strings are not valid identifiers. The response includes name, orgnr, phone, status (code and description), purpose, employees, revenue, and profit (both in SEK thousands). The location object contains county, municipality, and geographic coordinates. The roles object contains a roleGroups array covering board members, management, and revision roles.
Financial Data Coverage
Financial fields — revenue, profit, and employees — reflect data drawn from annual reports filed with Swedish authorities and indexed on allabolag.se. Values are returned as strings denominated in thousands of SEK. Multi-year history visible on the source site is accessible when the identifier resolves to a full company record.
Coverage and Identifiers
Allabolag.se covers registered Swedish legal entities. Companies are identified by their Swedish organization number or by the /foretag/ path returned by the search endpoint. Queries in Swedish are most effective given the source's language and categorization.
The Allabolag API is a managed, monitored endpoint for allabolag.se — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when allabolag.se changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official allabolag.se API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Look up a Swedish company's org number and filing status before entering a business relationship.
- Retrieve board and management
rolesto map ownership or governance structure for due diligence. - Pull
revenueandprofitfields across multiple companies to benchmark financial performance within an industry. - Geocode Swedish businesses using
location.coordinatesfor regional market analysis. - Search by industry keyword and paginate results to build a prospecting list of Swedish companies.
- Monitor company
statuscodes to flag dissolved or inactive entities in an existing supplier database. - Enrich a CRM with verified Swedish company
phonenumbers, municipality, and county data.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does allabolag.se offer an official developer API?+
What does the `search` endpoint return, and how do I get full company details from it?+
search endpoint returns a list of company objects, each with name, org_number, snippet, and link. Pass either the org_number value or the full link path (which starts with /foretag/) as the identifier parameter to get_company_details to retrieve the full profile. Bare internal ID strings from the link are not valid on their own.Are financial figures returned as numbers or strings, and what currency and unit are used?+
revenue and profit fields are returned as strings. Values represent amounts in Swedish kronor (SEK) denominated in thousands, matching how annual report data is presented on allabolag.se.