Pew Research APIpewresearch.org ↗
Access Pew Research Center reports, expert profiles, charts, and key findings across politics, technology, religion, and social trends via 5 structured endpoints.
What is the Pew Research API?
The Pew Research Center API exposes 5 endpoints for retrieving publications, report details, topic-filtered article lists, and staff expert profiles from pewresearch.org. The get_report_detail endpoint returns structured data including authors, key findings, charts with titles and data, supporting materials, methodology information, and a content summary — all in a single call against any valid report URL.
curl -X GET 'https://api.parse.bot/scraper/6f635fae-6ce5-4f72-a388-b0c4f55ad5d3/search_publications?page=1&query=artificial+intelligence&topic=internet-technology&format=report®ion=united-states' \ -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 pewresearch-org-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: Pew Research Center SDK — search publications, drill into reports, browse by topic."""
from parse_apis.pew_research_center_api import PewResearch, TopicSlug, TopicNotFound
client = PewResearch()
# Search for AI-related publications across all topics
for pub in client.publications.search(query="artificial intelligence", limit=5):
print(pub.title, pub.date)
# Get the latest publications, take the first one
latest = client.publications.latest(limit=1).first()
if latest:
print(latest.title, latest.url)
# Fetch full report details from a publication URL
report = client.reports.get(url="https://www.pewresearch.org/internet/2025/04/03/how-the-us-public-and-ai-experts-view-artificial-intelligence/")
print(report.title, report.date)
for mat in report.materials:
print(mat.title, mat.url)
# Browse a topic using the TopicSlug enum (constructible resource)
topic = client.topic(slug=TopicSlug.INTERNET_TECHNOLOGY)
for pub in topic.publications(limit=3):
print(pub.title, pub.excerpt)
# List experts
for expert in client.experts.list(limit=5):
print(expert.name, expert.url)
# Handle a topic that doesn't exist
try:
bad_topic = client.topic(slug="nonexistent-topic")
for pub in bad_topic.publications(limit=1):
print(pub.title)
except TopicNotFound as exc:
print(f"Topic not found: {exc.topic_slug}")
print("exercised: publications.search / publications.latest / reports.get / topic.publications / experts.list")Full-text search across all Pew Research Center publications by keyword. Supports optional filters by topic, format, and region. Returns paginated results ordered by relevance. Each result includes title, URL, date, format, and excerpt. Pagination advances by integer page number.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search keyword or phrase (e.g. 'artificial intelligence', 'climate change'). |
| topic | string | Filter by topic/category slug (e.g. 'internet-technology', 'politics-policy'). |
| format | string | Filter by publication format slug (e.g. 'report', 'fact-sheet', 'short-read'). |
| region | string | Filter by region/country slug (e.g. 'united-states', 'europe-russia'). |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"query": "string, the search query used",
"articles": "array of publication objects with title, url, date, format, and excerpt"
},
"sample": {
"data": {
"page": 1,
"query": "artificial intelligence",
"articles": [
{
"url": "https://www.pewresearch.org/short-reads/2026/03/12/key-findings-about-how-americans-view-artificial-intelligence/",
"date": "Mar 12, 2026",
"title": "Key findings about how Americans view artificial intelligence",
"format": null,
"excerpt": "Drawing on five years of Pew Research Center surveys, here are 13 findings about how Americans use and view AI."
}
]
},
"status": "success"
}
}About the Pew Research API
Search and Browse Publications
The search_publications endpoint accepts a required query string and optional filters for topic, format, and region — all passed as slugs (e.g. internet-technology, fact-sheet, europe-russia). Results are paginated and each item in the articles array includes title, url, date, format, and excerpt. The get_latest_publications endpoint mirrors this shape but returns recency-ordered results without a keyword query, optionally filtered by format.
Topic-Based Browsing
get_topic_publications fetches all publications under a specific topic slug such as religion, science, or politics-policy. The response includes the resolved topic slug alongside the same paginated articles array, making it straightforward to build topic-scoped feeds or monitor new output in a particular research area.
Deep Report Data
Passing any full Pew report URL to get_report_detail returns a detailed object: title, subtitle, date, authors (array of name strings), content_summary (up to 2000 characters), key_findings (array of finding strings), charts (array with type, title, and data), materials (supporting downloads with title and url), and a methodology object. Fields are null or empty arrays when not present on the source page.
Expert Directory
list_experts returns every listed Pew Research Center staff member and researcher as an array of objects containing name, title, and url. This endpoint takes no inputs and covers the full public staff directory, useful for attribution lookups or building author-centric research tools.
The Pew Research API is a managed, monitored endpoint for pewresearch.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pewresearch.org 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 pewresearch.org 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?+
- Track newly published Pew reports on a specific topic using
get_topic_publicationswith topic slugs likescienceorsocial-trends. - Extract structured key findings and chart data from any report URL via
get_report_detailfor automated research digests. - Build a filtered content feed of fact-sheets or short-reads using the
formatparameter insearch_publications. - Attribute research correctly by cross-referencing the
authorsarray fromget_report_detailwith expert profiles fromlist_experts. - Monitor Pew's latest output across all topics using
get_latest_publicationswith daily or weekly polling. - Filter publications by geographic focus using the
regionparameter insearch_publicationsto surface country- or continent-specific data. - Compile a bibliography of supporting materials by extracting the
materialsarray from multiple report detail calls.
| 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 Pew Research Center offer an official developer API?+
What exactly does `get_report_detail` return beyond the article text?+
content_summary (up to 2000 characters), the endpoint returns an authors array, a key_findings array of discrete finding strings, a charts array where each item carries type, title, and data, a materials array of linked supporting files, and a methodology object. Fields that are absent on the source page come back as null or empty arrays rather than causing an error.Does the `search_publications` endpoint support combining multiple filters at once?+
query, topic, format, and region together in one request. All filters are optional except query. Pagination is handled via the page parameter. Note that filter values must be slugs (e.g. united-states, not United States).Are individual expert profile pages with full bios and publication lists available?+
list_experts endpoint returns each expert's name, title, and profile url, but full biography text and per-expert publication lists are not currently returned. The API covers the staff directory overview. You can fork it on Parse and revise to add an expert detail endpoint that fetches the full profile page.