# Get your Fieldproxy data into accounting, BI or a warehouse

> Every Fieldproxy workspace runs on its own Postgres database, and the data is yours. There are four ways to get it out, from a one-off CSV to a scheduled sync.

Source: https://www.fieldproxy.ai/developers/guides/sync-to-warehouse

## Pick the way out

- REST API: `POST /api/read` with an exact-match condition, for example every invoice with status `unpaid`. Best for a system that polls.
- Read-only SQL over MCP: `run_sql` for any SELECT up to 500 rows, `export_csv` for up to 10,000 rows as a CSV link. Best for analysis and one-off pulls.
- The `db_sync` automation step: copies records to an external database in batches, on a schedule or as they change. Best for a warehouse.
- Export from any screen to CSV or Excel in the web app. Best for people, not systems.

## Poll for unpaid invoices

```bash
curl -X POST https://api-india-1.fieldproxy.ai/api/read \
  -H "x-api-key: $FIELDPROXY_API_KEY" \
  -H "content-type: application/json" \
  -d '{"tableName":"invoices","condition":{"status":"unpaid"}}'
```

```javascript
// Node.js 18+ (built-in fetch)
const res = await fetch("https://api-india-1.fieldproxy.ai/api/read", {
  method: "POST",
  headers: { "x-api-key": process.env.FIELDPROXY_API_KEY, "content-type": "application/json" },
  body: JSON.stringify({
    "tableName": "invoices",
    "condition": {
      "status": "unpaid"
    }
  }),
})
const out = await res.json()
if (!res.ok) throw new Error(out.message)
console.log(out.rowCount, out.data)
```

```python
# Python 3 (pip install requests)
import os, requests

res = requests.post(
    "https://api-india-1.fieldproxy.ai/api/read",
    headers={"x-api-key": os.environ["FIELDPROXY_API_KEY"]},
    json={
      "tableName": "invoices",
      "condition": {
        "status": "unpaid"
      }
    },
    timeout=30,
)
out = res.json()
res.raise_for_status()
print(out["rowCount"], out["data"])
```

## Ask for exactly what you need

MCP: read-only SQL:

```text
run_sql({ "sql": "SELECT i.id, c.company_name, i.total, i.balance_due, i.due_date
  FROM invoices i JOIN customers c ON c.id = i.customer_id
  WHERE i.balance_due > 0 ORDER BY i.due_date LIMIT 500" })
```

## Push on change instead of polling

Pair a trigger with `send_webhook` or `http_request` to send each record as it changes. See [Get a signed webhook when a job is completed](https://www.fieldproxy.ai/developers/guides/job-completed-webhook).

Table and column names differ per workspace, because each one is set up around its own business. The names below (`jobs`, `customers`, `invoices`) are typical, not guaranteed. To see the real ones, connect any MCP client and call `describe_schema`, or ask your Fieldproxy administrator.

## Questions

### Can I export my data from Fieldproxy?

Yes, the data is yours. Read it with the REST API, query it with read-only SQL, export CSV or Excel from any screen, or sync it to your own database with the db_sync automation step.

### Can Fieldproxy sync to a data warehouse or BI tool?

Yes. The db_sync automation step copies records to an external database in batches, and signed webhooks can push each change as it happens.

## This is one way, not the only way

This guide shows one common way to do it. A Fieldproxy workspace can be reached from every side, and anything in it can be read, changed or automated:

- REST API: read, insert, update and delete on any table the key allows ([REST API reference](https://www.fieldproxy.ai/developers/docs/rest-api)).
- MCP server: 170+ tools for Claude, ChatGPT, Copilot, Cursor and your own agents, including read-only SQL, proposed writes, automations and app building ([MCP tools](https://www.fieldproxy.ai/developers/docs/mcp-tools)).
- Automations: 15 trigger types and about 50 step types, with webhooks in and signed webhooks and HTTP calls out ([Webhooks and automations](https://www.fieldproxy.ai/developers/docs/webhooks-automations)).
- Public forms, record links and customer portals for people outside the company ([Public forms and links](https://www.fieldproxy.ai/developers/docs/public-forms)).
- Apps as JSON: new screens, fields, tables and workflows ([Apps as JSON](https://www.fieldproxy.ai/developers/docs/apps-as-json)).
- Voice and text agents that work from the same data ([Voice and text agents](https://www.fieldproxy.ai/developers/docs/agents)).
- Not listed here? Fieldproxy's team builds integrations with the other systems you use as part of setting up your workspace. [Tell us what you need](https://www.fieldproxy.ai/book-demo?source=dev-guides).

More: [REST API reference](https://www.fieldproxy.ai/developers/docs/rest-api) · [OpenAPI](https://www.fieldproxy.ai/developers/openapi.json) · [All guides](https://www.fieldproxy.ai/developers/guides)