Skip to main content
TheMembers is a Brazilian membership-area platform for online courses and communities. The connector extracts data from the TheMembers API v1 (api.themembers.com.br), so you can centralize your students, subscriptions, products, and course-consumption data in your Lakehouse.

Configuring TheMembers as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the TheMembers option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

You’ll need to provide a TheMembers API token so Nekt can access your data. It is sent as a bearer token on every request. To generate it, sign in to the TheMembers dashboard as a platform administrator and go to Plataforma > Configurações > Tokens. Two kinds of token are listed there:
  • Token legado — used by the older user-management API. It does not work with this connector.
  • API Token v1 — the one this connector uses.
Generate an API Token v1 and copy it right away.
For security reasons, TheMembers only shows the token once, at creation. If you lose it, revoke it and generate a new one.
The following configuration is available:
  • API token: Your TheMembers API Token v1, generated as described above.
Once you’re done, click Next.

2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.
Tip: The stream can be found more easily by typing its name.
The Student scores stream reads the community points of one student per request, so it takes about as long as your platform has students. Select it only if you need the gamification numbers.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.
  • Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
  • Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
  • Sync Type: the TheMembers API exposes no date filter on any of its list endpoints, so every stream of this connector replicates in FULL_TABLE mode — each run brings the current state of the data.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:
  • Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Rate limits

TheMembers allows up to 300 requests per minute per token. When the limit is reached, the API answers with the number of seconds to wait and the connector honors it, retrying with backoff — the extraction slows down but no data is lost. If you need a higher limit, contact TheMembers support.

Good to know

  • Access status and subscription status are different things. In the Subscriptions stream, active tells you whether the student can currently open the product’s content, while status carries the commercial state of the subscription (active, inactive, refunded, cancel, or chargeback). A refunded subscription can still show released access until it is blocked on the platform.
  • The course tree comes in three shapes. Courses carries the whole tree as a JSON string in modules, while Course modules and Course lessons publish the same data as flat tables. They are extracted from the same API response, so selecting all three costs no extra requests.
  • Course accesses is per course, not per student. It brings one row per student and course, including the completion date, from a single request per course.

Streams and Fields

Below you’ll find all available data streams from TheMembers and their corresponding fields:
Every student registered on the platform, with or without an active subscription. One row per student.Primary key: id · Sync type: full table
Every subscription of the platform: the link between a student and a product, with both the commercial status and the access flag. One row per student and product.Primary key: student_id, product_id · Sync type: full table
Products sold by the platform, with the number of subscriptions whose access is released or blocked.Primary key: id · Sync type: full table
Course catalogue of the members area. The full module tree comes in the modules column as a JSON string; the same data is available flattened in the Course modules and Course lessons streams.Primary key: id · Sync type: full table
Modules of every course, flattened out of the course listing. No extra request is made per course.Primary key: course_id, id · Sync type: full table
Lessons of every module, flattened out of the course listing. No extra request is made per course or module.Primary key: course_id, module_id, id · Sync type: full table
Access history of each student on each course, including whether and when the course was completed. One request is made per course.Primary key: id, course_id · Sync type: full table
Community gamification points of each student. This stream reads one student per request, so it takes about as long as the platform has students.Primary key: student_id · Sync type: full table