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.
- API token: Your TheMembers API Token v1, generated as described above.
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.
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.
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.
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.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,
activetells you whether the student can currently open the product’s content, whilestatuscarries 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:Students
Students
Every student registered on the platform, with or without an active subscription. One row per student.Primary key:
id · Sync type: full tableSubscriptions
Subscriptions
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 tableProducts
Products
Products sold by the platform, with the number of subscriptions whose access is released or blocked.Primary key:
id · Sync type: full tableCourses
Courses
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 tableCourse modules
Course modules
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 tableCourse lessons
Course lessons
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 tableCourse accesses
Course accesses
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 tableStudent scores
Student scores
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