---
ref: tool:salesforce/query-records
name: Query records with SOQL
company: company:salesforce
workflows: []
access: [mcp, cli, api]
tags: [capability:manage-crm, category:crm, has:api, has:cli, has:mcp]
docs: https://developer.salesforce.com/docs/platform/api-rest/guide/resources-query.html
updated: 2026-09-27
---

# Query records with SOQL

Runs a SOQL query and returns the matching records with the fields it selects.

Pass the query in `q`, for example `SELECT Id, Name, Industry FROM Account WHERE Industry = 'Technology' LIMIT 100`. One response holds up to 2,000 records; when there are more, `nextRecordsUrl` fetches the next batch.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "salesforce": { "url": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-mutations" } } }
```

Call the MCP tool `soqlQuery`.

Server URL: https://api.salesforce.com/platform/mcp/v1/platform/sobject-mutations

### CLI (official)

Install the command, then confirm it runs.

```sh
npm install @salesforce/cli --global
sf --version
```

Run `sf data query`.

### API (official)

- Base URL: https://{MyDomainName}.my.salesforce.com
- Endpoint: `GET /services/data/vXX.X/query`
- Auth: OAuth; sign in when the agent asks
- Docs: https://developer.salesforce.com/docs/platform/api-rest/guide/intro-rest.html

Before doing anything else, make one read-only call to confirm access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
