canonical: https://jentic.com/apis/gunpolicy.org/gunpolicy-main

# GunPolicy.org API

Jentic publishes the only available OpenAPI specification for GunPolicy.org API, keeping it validated and agent-ready. The GunPolicy.org API exposes comparative firearm-policy and armed-violence data compiled by the University of Sydney across countries and sub-regions. Six open endpoints cover region listings and details, measure-level data lookups, multi-region comparisons, a glossary of policy terms, and the catalogue of available measures. The API is unauthenticated and intended for research, journalism, and policy analysis.

## For AI agents

Read country and region-level firearm-policy and armed-violence statistics from GunPolicy.org for research, comparison, and reporting.

## Scope

Does not handle real-time crime feeds, news content, or firearm-purchase processing - use for comparative firearm-policy and armed-violence research data only.

## Capabilities

- List all regions covered by GunPolicy.org including countries and sub-regional aggregates
- Retrieve region-level metadata for a single region by ID
- Pull indicator data for a specific measure across the dataset
- Compare a measure side-by-side across multiple region IDs in one call
- Read the glossary of policy and statistical terms used by indicators
- Enumerate the full list of available measures in the dataset

## Use cases

### Cross-country firearm-policy comparison

Compile a comparison of firearm-related indicators across a chosen set of countries - for example civilian firearm holdings, firearm homicides, or licensing requirements. The compare endpoint accepts a list of region IDs and a single measure, returning aligned values suitable for tables and charts. This replaces manual data assembly from the GunPolicy site for journalism and policy briefs.

Example prompt: Call GET `/compare/{region_ids}/{measure}` with region IDs for the United States, Canada, and Australia and the civilian-firearm-holdings measure, then format the values as a table.

### Country profile builder

Generate a country firearm profile by pulling region metadata and a curated set of measures for a single country ID. This is the basis for static country pages on a research site or briefing notes for advocacy organisations, refreshed when GunPolicy publishes new data.

Example prompt: Fetch GET `/region/{region_id}` for Canada and then GET `/data/{measure}` for three measures (firearm homicides, civilian holdings, suicide rate) and assemble a profile object.

### Measure discovery for analysts

Before running comparisons, analysts need the canonical list of supported measures and the glossary terms attached to them. The /measures and /glossary endpoints power a discovery UI in a research notebook so analysts can pick valid measure identifiers without consulting the website.

Example prompt: Call GET /measures and GET /glossary, then surface a search-as-you-type measure picker for an analyst to pick a measure ID.

### AI agent research assistant via Jentic

An AI assistant answers a researcher's natural-language question about civilian firearm holdings in a region by selecting the right measure, calling the GunPolicy.org API, and citing the source. Through Jentic the agent calls the right endpoint without scraping the site.

Example prompt: Search Jentic for 'compare civilian firearm holdings across countries', load `/compare/{region_ids}/{measure}`, and return values for three regions.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/region` | List regions |
| GET | `/region/{region_id}` | Get region details |
| GET | `/data/{measure}` | Get data for a measure |
| GET | `/compare/{region_ids}/{measure}` | Compare regions by measure |
| GET | `/measures` | List available measures |
| GET | `/glossary` | List glossary terms |

## Key resources

- **Regions** — Countries and sub-regional aggregates with metadata
- **Data** — Indicator values for a given measure across regions
- **Compare** — Aligned multi-region values for one measure in a single call
- **Glossary** — Definitions of policy and statistical terms used in indicators
- **Measures** — Catalog of available measures supported by the dataset

## Why Jentic

- **Setup:** The GunPolicy.org API needs no vendor credentials, but wiring it by hand still means coding the region, measure, and compare paths and handling retries yourself. Through Jentic you install once, import GunPolicy.org from the API Directory, and your agent calls it with no secret to manage.
- **Permission scoping:** GunPolicy.org puts the region id and measure in the URL path (`/region/{region_id}`, `/data/{measure}`), so a rule can pin your agent to one region or measure for reads. You choose the operations it may call, and since every endpoint here is a read, the agent only fetches the research data you allow.
- **Credential handling:** GunPolicy.org requires no vendor credential, so there is nothing to store or rotate. Your agent reaches it only through your own Jentic One instance, which handles routing and rate-limit backoff without exposing any secret in the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'compare gun policy data across countries' or 'list available measures', and Jentic returns the matching compare or data operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Data.gov** — US government open-data catalog including some firearm and crime datasets
- **US Census** — Demographic data for normalising firearm-policy indicators against population
- **NCI / Cancer.gov** — Public-health dataset API for context on injury and mortality research

## FAQ

### Why is there no official OpenAPI spec for GunPolicy.org API?

GunPolicy.org does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call GunPolicy.org API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the GunPolicy.org API use?

The GunPolicy.org API does not require authentication. Endpoints accept anonymous GET requests. When called through Jentic, no credential is stored or injected for this API.

### Can I compare a measure across multiple countries with the GunPolicy.org API?

Yes. GET `/compare/{region_ids}/{measure}` accepts a list of region IDs and a single measure name and returns aligned values per region. This is the canonical way to build cross-country comparison tables.

### How do I find what measures are available in the GunPolicy.org API?

Call GET /measures for the supported measure identifiers and GET /glossary for definitions of the terms. Use the measure IDs from /measures as input to `/data/{measure}` and /compare.

### What are the rate limits for the GunPolicy.org API?

GunPolicy.org does not document strict rate limits but the dataset is intended for research-scale use. Cache responses where possible - the underlying data updates infrequently - and back off on any 429 responses.

### How do I compare gun policy data across countries with the GunPolicy.org API through Jentic?

Search Jentic for 'compare gun policy data across countries', load the GET `/compare/{region_ids}/{measure}` operation, then execute it with the chosen region IDs and measure. Install with pip install jentic.

### Can I limit what my agent is allowed to do with the GunPolicy.org API?

Yes. Because you run Jentic One yourself, your own rules decide which GunPolicy.org operations your agent may call and which it may not. Since this API puts the region id and measure directly in the URL path (GET `/region/{region_id}`, GET `/data/{measure}`, GET `/compare/{region_ids}/{measure}`), you can restrict the agent to specific regions or measures, or grant only measure discovery through GET /measures and GET /glossary. Every endpoint here is a read, so the agent can only fetch the research data you have allowed and never write or change anything.
