DataScoop.io
Build a list
Home / For AI agents

Query public records from your AI tools

DataScoop provides 10,174,536 records across 11 datasets through MCP and a REST API. Find a dataset, check its coverage and fields, then filter the records for your task. No key is needed for a free query of up to 25 rows.

See worked examples Read the API docs

Start with a task

Each example includes a prompt, exact filters, code and a dated sample. The sample illustrates the output; query the service to check its current saved import.

Access and limits

Anonymous and free-key queries return up to 25 rows per call and support offset. Pro costs $9.99 once for 12 months, with no automatic renewal. It supports up to 1,000 rows per MCP call or 10,000 rows per REST JSON page, plus up to 10 CSV downloads per account per day, resetting at midnight UTC. A separate full CSV costs $1.99 without an account. See prices and fair-use details.

A page with truncated=true is incomplete. Use offset to retrieve the next page, including on the free plan. A full Pro CSV uses format=csv without limit; each started CSV request uses the daily allowance.

Connect a client

Endpoint: https://datascoop.io/mcp (Streamable HTTP, JSON responses). Configuration and authentication vary by client. Start without a key; add an existing DataScoop key only where the client supports a custom Bearer header. DataScoop does not currently provide an OAuth account-linking flow. These instructions were checked against the linked vendor documentation on 21 October 2026.

Claude Code

Add the public endpoint, then check its status with /mcp. Official Claude Code instructions.

claude mcp add --transport http datascoop https://datascoop.io/mcp

For an existing key, Claude Code supports an environment reference in a private or project .mcp.json. Set DATASCOOP_API_KEY in the environment that starts the client; keep the actual key out of the file.

{
  "mcpServers": {
    "datascoop": {
      "type": "http",
      "url": "https://datascoop.io/mcp",
      "headers": {
        "Authorization": "Bearer ${DATASCOOP_API_KEY}"
      }
    }
  }
}

Codex

Add this to ~/.codex/config.toml. Omit the optional token setting for free access. For Pro, set the named environment variable before starting Codex. Official MCP configuration.

[mcp_servers.datascoop]
url = "https://datascoop.io/mcp"
# Optional: existing DataScoop key from the client environment
bearer_token_env_var = "DATASCOOP_API_KEY"

Cursor

Put this free-access configuration in ~/.cursor/mcp.json or the project’s .cursor/mcp.json. Cursor also supports an Authorization entry in headers; keep a real key in private configuration, not a shared project file. Official Cursor instructions.

{
  "mcpServers": {
    "datascoop": {
      "url": "https://datascoop.io/mcp"
    }
  }
}

VS Code with GitHub Copilot

For free access, add this to .vscode/mcp.json and enable the server in the tool picker. Documented VS Code configuration format.

{
  "servers": {
    "datascoop": {
      "type": "http",
      "url": "https://datascoop.io/mcp"
    }
  }
}

ChatGPT

Where custom MCP connections are enabled, follow OpenAI’s custom MCP instructions: add the endpoint with No authentication for public queries, install the resulting personal connection and select it in a chat. Workspace permissions apply. This setup is not a public directory listing.

ChatGPT’s documented account-linking route uses OAuth; it does not accept a customer API key as a custom authentication method. DataScoop has no OAuth flow, so Pro account linking is not supported here. Do not put a key in the connection URL. See OpenAI’s authentication requirements. No in-chat checkout is offered by this setup.

Developer APIs

For the OpenAI Responses API, add this MCP entry to the tools array of a request using a model that supports remote MCP. Approval settings remain your application’s choice. See the official MCP guide for authentication and approval handling.

{
  "type": "mcp",
  "server_label": "datascoop",
  "server_url": "https://datascoop.io/mcp"
}

The Anthropic Messages API has a separate MCP connector with its own beta header and tool configuration. Follow that guide for the SDK version you use; the client configurations above are not Messages API request bodies.

Clients that launch a local stdio process

The published datascoop-mcp npm bridge forwards local JSON-RPC messages to the hosted service. Node.js 18 or later is required. For an existing key, pass DATASCOOP_API_KEY to the process using the client’s private environment configuration.

{
  "mcpServers": {
    "datascoop": {
      "command": "npx",
      "args": [
        "-y",
        "datascoop-mcp"
      ]
    }
  }
}

Make the query explainable

Discover the source with search_datasets or list_datasets, then read get_dataset_schema. Set strict_filters: true on MCP queries or strict_filters=1 on REST to reject unsupported or invalid predicates. Without strict mode, check ignored_filters in MCP or ignored in REST before using a result.

Keep applied_filters, provenance and attribution with your answer. provenance.imported_at records a successful DataScoop import; it is not the publisher’s release date or a record’s update time. Compare it across pages of a long result. Preserve source dates where available and check missing fields before drawing conclusions.

Plain HTTP

curl "https://datascoop.io/v1/datasets/fsa/query?localAuthorityExact=Leeds&businessTypeExact=Restaurant%2FCafe%2FCanteen&strict_filters=1&limit=5"

# Machine-readable reference
curl "https://datascoop.io/openapi.json"
curl "https://datascoop.io/llms-full.txt"

Tools available

ToolWhat it does
list_datasetsList every dataset DataScoop carries (official public records: UK food hygiene ratings, Scotland FHIS, CQC care providers, the UK charity register, US restaurant inspections, US building permits, and more as added) with country, coverage, row count, licence, refresh date and the page URLs. Call this or search_datasets first.
search_datasetsFind candidate DataScoop datasets from keywords or a short task description, such as "Find care homes in Surrey" or "restaurant inspections Chicago". Candidates describe declared coverage, not verified matches for the requested location. Call get_dataset_schema, then query_dataset with explicit filters; example filters are illustrative and are not inferred from the request.
get_dataset_schemaGet a dataset's columns and the exact filters it accepts (key, type, allowed options, example). Use the filter keys, not column names, when calling query_dataset.
query_datasetReturn matching public records, their total count and the attribution to cite. Fields marked personal in our schema are excluded; published business names, addresses or phone numbers may still identify sole traders. Without a Pro key each call returns at most 25 rows; when more match, truncated=true and next_step explains how to buy a full CSV or use Pro. Pro calls return up to 1,000 rows, with offset for retrieving the rest. Ask for format "summary" to get counts only.
get_area_statisticsFree area totals and breakdowns for supported datasets, including CQC care-home lists, food hygiene ratings, restaurant inspections, aged care, carriers, building permits and licences. Rating datasets include published rating shares; permits use construction and demolition categories. Other lists show record counts and type breakdowns, with dates where published. Omit area to list the areas available. Read the returned field names and coverage before comparing areas; cite the page URL returned.
get_access_infoHow to get full access: the current plan of this connection, row caps, prices (free preview, one-off export, Pro annual pass), the signup and pricing URLs, how to pass an API key, and the wording to use when telling a user how to get every row.

Other supported tasks

I need a restaurant, cafe or takeaway list by council and business type

The FSA provides a free national CSV and API. For a smaller CSV, use the fsa dataset with localAuthorityExact and businessTypeExact, plus rating or postcodeArea if needed. It covers England, Wales and Northern Ireland; Scotland is separate. Preview 25 rows free before buying a larger export. No phones, emails or websites.

Read the practical guide →

The full Companies House file will not fit in one Excel worksheet

Companies House also offers seven smaller files and a 5,000-row advanced search. If those do not cover the job, use the companies-house dataset to filter the monthly snapshot by town, postcode, SIC code, status or incorporation date before downloading.

Read the practical guide →

My Companies House SIC and location search stops before the list is complete

Use the official advanced search first for results up to 5,000 rows. For a larger monthly-snapshot result or exact registered-office filters, use the companies-house dataset with SIC, post town, postcode, county, status and incorporation-date filters.

Read the practical guide →

The Companies House API rate limit is blocking a list or batch job

Use the official advanced-search endpoint first for a set query within 5,000 rows. For larger monthly-snapshot work, use one filtered companies-house query instead of making one profile request per company. JSON is paged; a paid CSV export streams the full matching set.

Read the practical guide →

I need a usable list of care homes in England

Use cqc with careHome=true and localAuthorityExact for an exact council list in England. Check the current import's field-availability counts for published phone numbers, websites, CQC ratings and recorded beds; not every location has every field. Missing values do not establish a home's rating or capacity. For the wider provider register, leave the care-home filter unset and inspect the dataset's public columns.

Read the practical guide →

I need the Charity Commission register as a spreadsheet

Use the charity-commission dataset to filter the England and Wales register by income, activity, type, status or postcode and return a flat CSV.

Read the practical guide →

The FMCSA Company Census File is too large for Excel

Use the us-motor-carriers dataset to filter active carriers by state, city, ZIP, fleet size, operation, classification, cargo, safety rating or registration date before downloading. Company-level fields only; no phone numbers, emails or officer names.

Read the practical guide →

I need building permit data across several US city portals

Use the us-building-permits dataset to query issued records from New York City, Chicago, Los Angeles, Austin, San Francisco and Seattle on one schema. Filter by city, category, area, ZIP, description, cost or issued date; no owner or applicant contacts.

Read the practical guide →

I need restaurant inspection records without joining incompatible local portals

Use the us-food-inspections dataset for New York City, Chicago, New York State and Austin. It keeps each source's result vocabulary distinct while exposing common establishment, place and date filters.

Read the practical guide →

I need a list of newly licensed or active businesses in a US city, and every city portal is different

Use the us-business-licenses dataset for Chicago, New York City, San Francisco and Los Angeles on one schema. Filter by city (the source), category, NAICS-code prefix, ZIP, status and issue or start date. Organisational fields only, no owner contacts. Coverage is those four cities, not every US city.

Read the practical guide →

I need new or active US liquor licenses by state without repeating a lookup for every state

Use the us-liquor-licenses dataset for New York, Texas, Missouri and Colorado on one schema. Filter by state (the source), county, city, license type, status and issue date. Licensee and premises fields only, no personal contacts. Coverage is those four states, not every US state.

Read the practical guide →

Datasets available now

Need a different source? Tell us the task, country and official publisher.

Using and citing the records

Fields marked personal are withheld. Published business names, addresses and phone numbers may still identify people, including sole traders. Retain source attribution and dates, follow each dataset’s reuse terms, and assess privacy and marketing obligations for your intended use. Read the methodology for coverage and missing-field limits.

Cache results where appropriate and follow the API fair-use terms. Server version 1.0.0; service health; registry manifest. Connecting a tool makes it available to that client; it does not guarantee recommendations in search answers.

Questions

Do I need an account?

No. Anonymous queries return up to 25 rows per call, with offset pagination. An account is optional for free access; Pro adds larger pages and a daily CSV allowance.

Can every client use my Pro key?

No. DataScoop accepts Bearer API keys in clients that support custom headers. Hosted chat clients can have different authentication requirements. DataScoop does not currently offer OAuth account linking.

Which MCP versions does the server support?

2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05. Support for a protocol revision does not guarantee every client supports the same authentication or setup.