External Developer Quickstart
This is the shortest path from "I bought RowOps" to a working importer in your product.
1. Create an account
Go to the dashboard and sign in:
2. Create a project
Projects are the top-level container for schemas, keys, and domains.
- Create a new project in the dashboard.
- Note the
projectIdshown in the project settings.
3. Create a schema
Schemas define the columns and validation rules your customers must follow.
- Go to Schemas.
- Create a schema and copy the
schemaId.
4. Create a publishable key
Browser integrations require a publishable key:
- Go to Keys.
- Generate a Publishable key (
pk_...).
5. Add allowed domains
Publishable keys are domain-locked.
- Go to Domains.
- Add your production domain(s).
If the domain cannot be verified, the importer rejects the request (no token issued).
6. Install the React SDK
npm install @rowops/importer
7. Drop in the importer
import { RowOpsImporter } from "@rowops/importer";
export default function ImportPage() {
return (
<RowOpsImporter
projectId="proj_123"
schemaId="contacts"
publishableKey="pk_live_..."
onComplete={({ datasetRef, totalRows }) => {
console.log(datasetRef, totalRows);
}}
/>
);
}
Notes:
publishableKeyis required for external integrations.window.__ROWOPS_PUBLISHABLE_KEY__is only for internal demos.
8. Stream data out (recommended at scale)
Use Arrow IPC streaming for large datasets:
<RowOpsImporter
projectId="proj_123"
schemaId="contacts"
publishableKey="pk_live_..."
onExportIpcChunk={async (bytes, index) => {
await uploadToBackend(bytes, index);
}}
onExportComplete={({ totalRows, totalChunks }) => {
console.log(totalRows, totalChunks);
}}
/>
9. Troubleshooting
Common issues:
- Domain mismatch: add the hostname in Domains.
- Missing publishable key: pass
publishableKeyexplicitly. - Localhost: always allowed, does not count toward domain caps.
Next: read Projects and Keys and Execution Models.