Spheriq APIapp.spheriq.ch ↗
Search and retrieve detailed profiles of Swiss foundations and nonprofits via the Spheriq.ch API. Access names, purposes, topics, SDGs, board members, and SOGC registry data.
What is the Spheriq API?
The Spheriq.ch API covers 2 endpoints that expose the full Spheriq Swiss nonprofit database, letting you search thousands of foundations and organizations or pull a complete profile by slug. search_organizations returns paginated results with titles, descriptions, categories, and target groups, while get_organization delivers board members, SOGC registry data, SDG labels, exclusions, and contact information for any single entity.
curl -X GET 'https://api.parse.bot/scraper/a1c4bf29-d82d-4487-b46a-30ea8d32cc53/search_organizations?page=0&query=stiftung&hits_per_page=20&form_of_impact=grant_giving_organization' \ -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 app-spheriq-ch-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: Spheriq SDK — bounded, re-runnable; every call capped."""
from parse_apis.app_spheriq_ch_api import Spheriq, FormOfImpact, InputNotFound
client = Spheriq()
# Search for grant-giving foundations matching "kultur" (culture)
for org in client.organizations.search(
query="kultur",
form_of_impact=FormOfImpact.GRANT_GIVING_ORGANIZATION,
limit=3,
):
print(org.title, org.categories)
# Drill down: take one search hit and fetch its full profile
org = client.organizations.search(query="stiftung", limit=1).first()
if org is not None:
profile = org.details()
print(profile.title, profile.purpose[:120])
print("Topics:", profile.topics)
print("Areas:", profile.areas_of_impact)
for person in profile.people[:3]:
print(f" {person.name} — {person.role}")
print("SOGC address:", profile.sogc_data.address)
# Point lookup by slug when you already know the identifier
try:
detail = client.organization_profiles.get(slug="ernst-goehner-stiftung")
print(detail.title, detail.form_of_impact, detail.last_updated)
except InputNotFound as e:
print("not found:", e)
print("exercised: organizations.search / Organization.details / organization_profiles.get")
Search foundations and organizations in the Spheriq Swiss nonprofit database. Returns paginated results with name, description, categories (topics), target groups, and organizational metadata. Results are auto-iterated; the SDK walks pages automatically. An empty query returns all entries. Each item carries resolved human-readable category labels derived from the NKS classification system used in Swiss philanthropy.
| Param | Type | Description |
|---|---|---|
| page | integer | Zero-based page index for pagination. |
| query | string | Free-text search query matching organization/project names and descriptions. |
| hits_per_page | integer | Number of results per page (1-1000). |
| form_of_impact | string | Filter by organization type. Omitted returns all types. |
{
"type": "object",
"fields": {
"page": "current page index (zero-based)",
"items": "array of organization/foundation records with id, title, description, categories, target_groups",
"total_hits": "total number of matching records",
"total_pages": "total pages available",
"hits_per_page": "results per page"
},
"sample": {
"data": {
"page": 0,
"items": [
{
"id": 10650,
"slug": "stiftung-wisli",
"tags": [
"stiftung",
"Arbeitsintegration"
],
"type": "organization",
"title": "Stiftung Wisli",
"categories": [
"Social in General",
"Social",
"Assisted Living (Retirement Home, Impairment)",
"Health in General",
"Health"
],
"description": "",
"target_groups": [
"Switzerland",
"Elderly People",
"Men",
"Refugees and Migrants"
],
"form_of_impact": "non_profit_organization",
"organization_name": "",
"organization_slug": ""
}
],
"total_hits": 9646,
"total_pages": 1930,
"hits_per_page": 5
},
"status": "success"
}
}About the Spheriq API
Search Swiss Foundations and Nonprofits
The search_organizations endpoint accepts a free-text query string matched against organization names and descriptions, plus optional filters for form_of_impact (organization type) and hits_per_page (1–1000 results per page). Results are zero-indexed via the page parameter. Each record in the items array includes an id, title, description, categories, and target_groups. The total_hits and total_pages fields let you implement your own pagination logic, though the SDK iterates pages automatically when you omit the page parameter.
Full Organization Profiles
The get_organization endpoint takes a slug (available in every search_organizations result) and an optional type of 'organization' or 'project'. The response includes the canonical url, the organization's title, full purpose text sourced from the Swiss Official Gazette of Commerce (SOGC) or the profile page, and structured sogc_data containing the registered address, founding_date, and supervisory_authority. Additional fields cover topics, sdgs (UN Sustainable Development Goal labels), exclusions (categories the organization explicitly does not fund), a people array with board member names and roles, and a contact object including any public websites.
Coverage and Data Shape
All data reflects publicly visible profiles on app.spheriq.ch, scoped to Switzerland. The exclusions field is particularly useful for grant-seekers automating eligibility checks — it surfaces what a foundation will not support without manual review. SDG labels allow cross-referencing organizations against the 17 UN goals. The sogc_data object ties each entity back to the Swiss commercial registry, giving you verifiable founding dates and supervisory authority information alongside the qualitative profile content.
The Spheriq API is a managed, monitored endpoint for app.spheriq.ch — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when app.spheriq.ch 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 app.spheriq.ch 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?+
- Build a grant-matching tool that filters Swiss foundations by
topicsandtarget_groupsfor a specific project type. - Automate eligibility pre-screening by parsing
exclusionsfields before a nonprofit applies for funding. - Map Swiss foundation activity to UN SDGs using the
sdgsarray returned byget_organization. - Enrich a CRM with board member data by extracting the
peoplearray and their roles from foundation profiles. - Compile a directory of Swiss nonprofits with SOGC-verified founding dates and supervisory authorities from
sogc_data. - Monitor new foundations in a topic area by running scheduled
search_organizationsqueries filtered byform_of_impact. - Cross-reference foundation contact websites from the
contactobject to identify overlapping funders in a sector.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Spheriq.ch have an official developer API?+
What does `get_organization` return beyond what the search endpoint provides?+
search_organizations returns summary fields — title, description, categories, and target groups. get_organization adds the full purpose text, sogc_data (address, founding date, supervisory authority), people (board members and roles), sdgs, exclusions, and contact details. You need the slug from a search result to call it.Does the API cover project profiles as well as organizations?+
type parameter in get_organization accepts either 'organization' or 'project', and search_organizations returns both types in its results. The response shape is the same for both.Does the API expose financial data such as foundation assets or annual grant totals?+
Is pagination handled automatically, and are there limits on results per page?+
hits_per_page parameter accepts values from 1 to 1000. The page parameter is zero-based. When using the Parse SDK, pages are iterated automatically; when calling the endpoint directly, use total_pages and total_hits from the response to manage your own loop.